src/value.c

Thu, 01 Jul 2004 15:57:38 +0000

author
Cole Kowalski
date
Thu, 01 Jul 2004 15:57:38 +0000
changeset 9435
b17d52fece0f
parent 8809
4fc1959df5ce
child 14097
0c340861ab79
permissions
-rw-r--r--

[gaim-migrate @ 10256]
this patch had some little discussion, so the original comments about it
don't make too much sense now.

it makes the log viewwer further collapse things into months for things
older than the current month. for relatively short logs this might not be
wonderful, but it should help with very long logs. see patch #963827

oh and thanks to Cole Kowalski for this

committer: Luke Schierer <lschiere@pidgin.im>

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

mercurial