libgaim/value.c

Tue, 29 Aug 2006 02:22:08 +0000

author
Hil <allhilbert@users.sourceforge.net>
date
Tue, 29 Aug 2006 02:22:08 +0000
changeset 14432
3710852cdab5
parent 14254
77edc7a6191a
child 20470
77693555855f
permissions
-rw-r--r--

[gaim-migrate @ 17076]
SF Patch #1547720 from Hilbert
Fixes SF Bug #1541097

If you search, leave the Find dialog open, switch tabs, and search again, the search happens in the original tab. This patch fixes that bug. Now when you search, it searches in the active conversation window.

committer: Richard Laager <rlaager@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 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 8809
diff changeset
88 g_free(value->u.specific_type);
6562
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 }
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 else if (gaim_value_get_type(value) == GAIM_TYPE_STRING)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 8809
diff changeset
92 g_free(value->data.string_data);
6562
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 }
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 g_free(value);
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
8809
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
98 GaimValue *
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
99 gaim_value_dup(const GaimValue *value)
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
100 {
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
101 GaimValue *new_value;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
102 GaimType type;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
103
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
104 g_return_val_if_fail(value != NULL, NULL);
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 type = gaim_value_get_type(value);
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 if (type == GAIM_TYPE_SUBTYPE)
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 new_value = gaim_value_new(GAIM_TYPE_SUBTYPE,
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
111 gaim_value_get_subtype(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
112 }
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
113 else if (type == GAIM_TYPE_BOXED)
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 new_value = gaim_value_new(GAIM_TYPE_BOXED,
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
116 gaim_value_get_specific_type(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
117 }
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
118 else
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
119 new_value = gaim_value_new(type);
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
120
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
121 new_value->flags = value->flags;
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 switch (type)
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 case GAIM_TYPE_CHAR:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
126 gaim_value_set_char(new_value, gaim_value_get_char(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
127 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
128
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
129 case GAIM_TYPE_UCHAR:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
130 gaim_value_set_uchar(new_value, gaim_value_get_uchar(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
131 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
132
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
133 case GAIM_TYPE_BOOLEAN:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
134 gaim_value_set_boolean(new_value, gaim_value_get_boolean(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
135 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
136
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
137 case GAIM_TYPE_SHORT:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
138 gaim_value_set_short(new_value, gaim_value_get_short(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
139 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
140
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
141 case GAIM_TYPE_USHORT:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
142 gaim_value_set_ushort(new_value, gaim_value_get_ushort(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
143 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
144
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
145 case GAIM_TYPE_INT:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
146 gaim_value_set_int(new_value, gaim_value_get_int(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
147 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
148
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
149 case GAIM_TYPE_UINT:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
150 gaim_value_set_uint(new_value, gaim_value_get_uint(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
151 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
152
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
153 case GAIM_TYPE_LONG:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
154 gaim_value_set_long(new_value, gaim_value_get_long(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
155 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
156
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
157 case GAIM_TYPE_ULONG:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
158 gaim_value_set_ulong(new_value, gaim_value_get_ulong(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
159 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
160
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
161 case GAIM_TYPE_INT64:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
162 gaim_value_set_int64(new_value, gaim_value_get_int64(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
163 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
164
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
165 case GAIM_TYPE_UINT64:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
166 gaim_value_set_uint64(new_value, gaim_value_get_uint64(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
167 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
168
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
169 case GAIM_TYPE_STRING:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
170 gaim_value_set_string(new_value, gaim_value_get_string(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
171 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
172
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
173 case GAIM_TYPE_OBJECT:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
174 gaim_value_set_object(new_value, gaim_value_get_object(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
175 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
176
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
177 case GAIM_TYPE_POINTER:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
178 gaim_value_set_pointer(new_value, gaim_value_get_pointer(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
179 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
180
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
181 case GAIM_TYPE_ENUM:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
182 gaim_value_set_enum(new_value, gaim_value_get_enum(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
183 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
184
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
185 case GAIM_TYPE_BOXED:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
186 gaim_value_set_boxed(new_value, gaim_value_get_boxed(value));
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
187 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
188
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
189 default:
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
190 break;
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
191 }
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
192
4fc1959df5ce [gaim-migrate @ 9571]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
193 return new_value;
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
6562
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 GaimType
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 gaim_value_get_type(const GaimValue *value)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 g_return_val_if_fail(value != NULL, GAIM_TYPE_UNKNOWN);
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 return value->type;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204 unsigned int
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
205 gaim_value_get_subtype(const GaimValue *value)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
206 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
207 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [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);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210 return value->u.subtype;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
213 const char *
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
214 gaim_value_get_specific_type(const GaimValue *value)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
215 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
216 g_return_val_if_fail(value != NULL, NULL);
fee83eac583d [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);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
218
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
219 return value->u.specific_type;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
222 gboolean
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 gaim_value_is_outgoing(const GaimValue *value)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 g_return_val_if_fail(value != NULL, FALSE);
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 return (value->flags & OUTGOING_FLAG);
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
230 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
231 gaim_value_set_char(GaimValue *value, char data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
232 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233 g_return_if_fail(value != NULL);
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 value->data.char_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 gaim_value_set_uchar(GaimValue *value, unsigned char data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
240 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241 g_return_if_fail(value != NULL);
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 value->data.uchar_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
246 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247 gaim_value_set_boolean(GaimValue *value, gboolean data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249 g_return_if_fail(value != NULL);
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 value->data.boolean_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 gaim_value_set_short(GaimValue *value, short data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257 g_return_if_fail(value != NULL);
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 value->data.short_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
262 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 gaim_value_set_ushort(GaimValue *value, unsigned short data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265 g_return_if_fail(value != NULL);
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 value->data.ushort_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 gaim_value_set_int(GaimValue *value, int data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273 g_return_if_fail(value != NULL);
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 value->data.int_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 gaim_value_set_uint(GaimValue *value, unsigned int data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 g_return_if_fail(value != NULL);
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 value->data.int_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 gaim_value_set_long(GaimValue *value, long data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 g_return_if_fail(value != NULL);
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 value->data.long_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 gaim_value_set_ulong(GaimValue *value, unsigned long data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
297 g_return_if_fail(value != NULL);
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 value->data.long_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 gaim_value_set_int64(GaimValue *value, gint64 data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305 g_return_if_fail(value != NULL);
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 value->data.int64_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
311 gaim_value_set_uint64(GaimValue *value, guint64 data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
313 g_return_if_fail(value != NULL);
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 value->data.uint64_data = data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
318 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319 gaim_value_set_string(GaimValue *value, const char *data)
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 {
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321 g_return_if_fail(value != NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 8809
diff changeset
323 g_free(value->data.string_data);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 8809
diff changeset
324 value->data.string_data = g_strdup(data);
6562
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 }
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
326
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
327 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328 gaim_value_set_object(GaimValue *value, void *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 g_return_if_fail(value != NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
331
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 value->data.object_data = 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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336 gaim_value_set_pointer(GaimValue *value, void *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 g_return_if_fail(value != NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 value->data.pointer_data = 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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 gaim_value_set_enum(GaimValue *value, int 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 g_return_if_fail(value != NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
348 value->data.enum_data = 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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 void
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
352 gaim_value_set_boxed(GaimValue *value, void *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 g_return_if_fail(value != NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 value->data.boxed_data = 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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 char
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360 gaim_value_get_char(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
363
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 return value->data.char_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 unsigned char
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 gaim_value_get_uchar(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
371
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
372 return value->data.uchar_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 gboolean
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 gaim_value_get_boolean(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, FALSE);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 return value->data.boolean_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 short
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 gaim_value_get_short(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 return value->data.short_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 unsigned short
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 gaim_value_get_ushort(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 return value->data.ushort_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 int
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 gaim_value_get_int(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404 return value->data.int_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407 unsigned int
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 gaim_value_get_uint(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 return value->data.int_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415 long
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416 gaim_value_get_long(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 return value->data.long_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 unsigned long
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 gaim_value_get_ulong(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 return value->data.long_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
431 gint64
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432 gaim_value_get_int64(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
435
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
436 return value->data.int64_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
439 guint64
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
440 gaim_value_get_uint64(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, 0);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
443
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
444 return value->data.uint64_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 const char *
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448 gaim_value_get_string(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 return value->data.string_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 void *
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
456 gaim_value_get_object(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
460 return value->data.object_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 void *
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464 gaim_value_get_pointer(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
467
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
468 return value->data.pointer_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
471 int
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
472 gaim_value_get_enum(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, -1);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
475
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
476 return value->data.enum_data;
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
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
479 void *
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
480 gaim_value_get_boxed(const GaimValue *value)
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 g_return_val_if_fail(value != NULL, NULL);
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
483
fee83eac583d [gaim-migrate @ 7084]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
484 return value->data.boxed_data;
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

mercurial