annotate src/value.c @ 14163:c3167a1dd817

[gaim-migrate @ 16811] Split the DNS query stuff out into it's own file. Eventually we should move the dnssrv code into this same file. Maybe even share some code? Also the first steps toward cancelable DNS queries. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 17 Aug 2006 07:44:52 +0000
parents 8bda65b88e49
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file value.c Value wrapper API
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 6562
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 6562
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 6562
diff changeset
9 * source distribution.
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 #include "internal.h"
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 #include "value.h"
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 #define OUTGOING_FLAG 0x01
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 GaimValue *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 gaim_value_new(GaimType type, ...)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 GaimValue *value;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 va_list args;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 g_return_val_if_fail(type != GAIM_TYPE_UNKNOWN, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 value = g_new0(GaimValue, 1);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 value->type = type;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 va_start(args, type);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 if (type == GAIM_TYPE_SUBTYPE)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 value->u.subtype = va_arg(args, int);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 else if (type == GAIM_TYPE_BOXED)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 value->u.specific_type = g_strdup(va_arg(args, char *));
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 va_end(args);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 return value;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 GaimValue *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 gaim_value_new_outgoing(GaimType type, ...)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 GaimValue *value;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 va_list args;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 g_return_val_if_fail(type != GAIM_TYPE_UNKNOWN, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 value = g_new0(GaimValue, 1);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 value->type = type;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 va_start(args, type);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 if (type == GAIM_TYPE_SUBTYPE)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 value->u.subtype = va_arg(args, int);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 else if (type == GAIM_TYPE_BOXED)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 value->u.specific_type = g_strdup(va_arg(args, char *));
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 va_end(args);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 value->flags |= OUTGOING_FLAG;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 return value;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 gaim_value_destroy(GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 if (gaim_value_get_type(value) == GAIM_TYPE_BOXED)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 {
14035
8bda65b88e49 [gaim-migrate @ 16638]
Mark Doliner <mark@kingant.net>
parents: 8809
diff changeset
88 g_free(value->u.specific_type);
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 else if (gaim_value_get_type(value) == GAIM_TYPE_STRING)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 {
14035
8bda65b88e49 [gaim-migrate @ 16638]
Mark Doliner <mark@kingant.net>
parents: 8809
diff changeset
92 g_free(value->data.string_data);
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 g_free(value);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97
8809
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
98 GaimValue *
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
99 gaim_value_dup(const GaimValue *value)
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
100 {
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
101 GaimValue *new_value;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
102 GaimType type;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
103
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
104 g_return_val_if_fail(value != NULL, NULL);
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
105
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
106 type = gaim_value_get_type(value);
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
107
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
108 if (type == GAIM_TYPE_SUBTYPE)
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
109 {
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
110 new_value = gaim_value_new(GAIM_TYPE_SUBTYPE,
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
111 gaim_value_get_subtype(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
112 }
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
113 else if (type == GAIM_TYPE_BOXED)
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
114 {
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
115 new_value = gaim_value_new(GAIM_TYPE_BOXED,
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
116 gaim_value_get_specific_type(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
117 }
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
118 else
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
119 new_value = gaim_value_new(type);
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
120
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
121 new_value->flags = value->flags;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
122
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
123 switch (type)
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
124 {
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
125 case GAIM_TYPE_CHAR:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
126 gaim_value_set_char(new_value, gaim_value_get_char(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
127 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
128
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
129 case GAIM_TYPE_UCHAR:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
130 gaim_value_set_uchar(new_value, gaim_value_get_uchar(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
131 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
132
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
133 case GAIM_TYPE_BOOLEAN:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
134 gaim_value_set_boolean(new_value, gaim_value_get_boolean(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
135 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
136
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
137 case GAIM_TYPE_SHORT:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
138 gaim_value_set_short(new_value, gaim_value_get_short(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
139 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
140
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
141 case GAIM_TYPE_USHORT:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
142 gaim_value_set_ushort(new_value, gaim_value_get_ushort(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
143 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
144
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
145 case GAIM_TYPE_INT:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
146 gaim_value_set_int(new_value, gaim_value_get_int(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
147 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
148
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
149 case GAIM_TYPE_UINT:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
150 gaim_value_set_uint(new_value, gaim_value_get_uint(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
151 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
152
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
153 case GAIM_TYPE_LONG:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
154 gaim_value_set_long(new_value, gaim_value_get_long(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
155 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
156
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
157 case GAIM_TYPE_ULONG:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
158 gaim_value_set_ulong(new_value, gaim_value_get_ulong(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
159 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
160
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
161 case GAIM_TYPE_INT64:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
162 gaim_value_set_int64(new_value, gaim_value_get_int64(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
163 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
164
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
165 case GAIM_TYPE_UINT64:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
166 gaim_value_set_uint64(new_value, gaim_value_get_uint64(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
167 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
168
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
169 case GAIM_TYPE_STRING:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
170 gaim_value_set_string(new_value, gaim_value_get_string(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
171 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
172
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
173 case GAIM_TYPE_OBJECT:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
174 gaim_value_set_object(new_value, gaim_value_get_object(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
175 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
176
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
177 case GAIM_TYPE_POINTER:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
178 gaim_value_set_pointer(new_value, gaim_value_get_pointer(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
179 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
180
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
181 case GAIM_TYPE_ENUM:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
182 gaim_value_set_enum(new_value, gaim_value_get_enum(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
183 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
184
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
185 case GAIM_TYPE_BOXED:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
186 gaim_value_set_boxed(new_value, gaim_value_get_boxed(value));
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
187 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
188
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
189 default:
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
190 break;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
191 }
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
192
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
193 return new_value;
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
194 }
fde4101fa183 [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
195
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 GaimType
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 gaim_value_get_type(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 g_return_val_if_fail(value != NULL, GAIM_TYPE_UNKNOWN);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
201 return value->type;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
203
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204 unsigned int
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
205 gaim_value_get_subtype(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
206 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
207 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
208 g_return_val_if_fail(gaim_value_get_type(value) == GAIM_TYPE_SUBTYPE, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210 return value->u.subtype;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
211 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
212
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
213 const char *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
214 gaim_value_get_specific_type(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
215 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
216 g_return_val_if_fail(value != NULL, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
217 g_return_val_if_fail(gaim_value_get_type(value) == GAIM_TYPE_BOXED, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
218
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
219 return value->u.specific_type;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
220 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
221
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
222 gboolean
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 gaim_value_is_outgoing(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 g_return_val_if_fail(value != NULL, FALSE);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
226
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
227 return (value->flags & OUTGOING_FLAG);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
228 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
229
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
230 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
231 gaim_value_set_char(GaimValue *value, char data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
232 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
235 value->data.char_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
236 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
237
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 gaim_value_set_uchar(GaimValue *value, unsigned char data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
240 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
242
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
243 value->data.uchar_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
244 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
245
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
246 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247 gaim_value_set_boolean(GaimValue *value, gboolean data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
250
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
251 value->data.boolean_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
252 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
253
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 gaim_value_set_short(GaimValue *value, short data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
259 value->data.short_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
260 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
262 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 gaim_value_set_ushort(GaimValue *value, unsigned short data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
266
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267 value->data.ushort_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
268 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 gaim_value_set_int(GaimValue *value, int data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
275 value->data.int_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
276 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 gaim_value_set_uint(GaimValue *value, unsigned int data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
283 value->data.int_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 gaim_value_set_long(GaimValue *value, long data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291 value->data.long_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
293
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 gaim_value_set_ulong(GaimValue *value, unsigned long data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
297 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
298
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
299 value->data.long_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
300 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
301
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 gaim_value_set_int64(GaimValue *value, gint64 data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
306
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
307 value->data.int64_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
308 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
309
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
311 gaim_value_set_uint64(GaimValue *value, guint64 data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
313 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
314
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
315 value->data.uint64_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
317
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
318 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319 gaim_value_set_string(GaimValue *value, const char *data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322
14035
8bda65b88e49 [gaim-migrate @ 16638]
Mark Doliner <mark@kingant.net>
parents: 8809
diff changeset
323 g_free(value->data.string_data);
8bda65b88e49 [gaim-migrate @ 16638]
Mark Doliner <mark@kingant.net>
parents: 8809
diff changeset
324 value->data.string_data = g_strdup(data);
6562
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
326
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
327 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328 gaim_value_set_object(GaimValue *value, void *data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
329 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
330 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
331
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 value->data.object_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336 gaim_value_set_pointer(GaimValue *value, void *data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 value->data.pointer_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
341 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
342
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 gaim_value_set_enum(GaimValue *value, int data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
345 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
346 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
348 value->data.enum_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
349 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
350
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 void
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
352 gaim_value_set_boxed(GaimValue *value, void *data)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
353 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 g_return_if_fail(value != NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 value->data.boxed_data = data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
357 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 char
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360 gaim_value_get_char(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
361 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
362 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
363
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 return value->data.char_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
365 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 unsigned char
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 gaim_value_get_uchar(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
369 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
370 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
371
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
372 return value->data.uchar_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
373 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
374
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 gboolean
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 gaim_value_get_boolean(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
377 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378 g_return_val_if_fail(value != NULL, FALSE);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 return value->data.boolean_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 short
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 gaim_value_get_short(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
385 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 return value->data.short_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 unsigned short
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 gaim_value_get_ushort(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
393 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 return value->data.ushort_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
397 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 int
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 gaim_value_get_int(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404 return value->data.int_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
406
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407 unsigned int
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 gaim_value_get_uint(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 return value->data.int_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415 long
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416 gaim_value_get_long(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
417 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
418 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 return value->data.long_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 unsigned long
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 gaim_value_get_ulong(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 return value->data.long_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
430
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
431 gint64
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432 gaim_value_get_int64(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
434 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
435
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
436 return value->data.int64_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
437 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
438
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
439 guint64
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
440 gaim_value_get_uint64(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
441 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
442 g_return_val_if_fail(value != NULL, 0);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
443
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
444 return value->data.uint64_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
445 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
446
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 const char *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448 gaim_value_get_string(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
449 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450 g_return_val_if_fail(value != NULL, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 return value->data.string_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
453 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
454
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 void *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
456 gaim_value_get_object(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
458 g_return_val_if_fail(value != NULL, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
460 return value->data.object_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
462
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 void *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464 gaim_value_get_pointer(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
465 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
466 g_return_val_if_fail(value != NULL, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
467
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
468 return value->data.pointer_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
469 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
470
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
471 int
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
472 gaim_value_get_enum(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
473 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
474 g_return_val_if_fail(value != NULL, -1);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
475
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
476 return value->data.enum_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
477 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
478
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
479 void *
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
480 gaim_value_get_boxed(const GaimValue *value)
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
481 {
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
482 g_return_val_if_fail(value != NULL, NULL);
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
483
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
484 return value->data.boxed_data;
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
485 }
c53a3f0649eb [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
486