comparison libpurple/value.c @ 32317:d72f2f13b60f

merge of 'c8c73eea7431e6f940916315ace40a41c8da3faa' and 'fec428131bde0ae8247941bd6a3d996c984c9189'
author Ethan Blanton <elb@pidgin.im>
date Fri, 21 Oct 2011 14:36:18 +0000
parents d3e36e7af9e7
children
comparison
equal deleted inserted replaced
32316:14787acaf9d7 32317:d72f2f13b60f
27 27
28 #include "value.h" 28 #include "value.h"
29 29
30 #define OUTGOING_FLAG 0x01 30 #define OUTGOING_FLAG 0x01
31 31
32 /**
33 * A wrapper for a type, subtype, and specific type of value.
34 */
35 struct _PurpleValue
36 {
37 PurpleType type;
38 unsigned short flags;
39
40 union
41 {
42 char char_data;
43 unsigned char uchar_data;
44 gboolean boolean_data;
45 short short_data;
46 unsigned short ushort_data;
47 int int_data;
48 unsigned int uint_data;
49 long long_data;
50 unsigned long ulong_data;
51 gint64 int64_data;
52 guint64 uint64_data;
53 char *string_data;
54 void *object_data;
55 void *pointer_data;
56 int enum_data;
57 void *boxed_data;
58
59 } data;
60
61 union
62 {
63 unsigned int subtype;
64 char *specific_type;
65
66 } u;
67
68 };
69
32 PurpleValue * 70 PurpleValue *
33 purple_value_new(PurpleType type, ...) 71 purple_value_new(PurpleType type, ...)
34 { 72 {
35 PurpleValue *value; 73 PurpleValue *value;
36 va_list args; 74 va_list args;