82
83
* camel_address_new_clone:
84
* @addr: a #CamelAddress object
85
86
* Clone an existing address type.
88
* Returns the cloned address
90
camel_address_new_clone(const CamelAddress *in)
91
camel_address_new_clone (const CamelAddress *addr)
92
CamelAddress *new = CAMEL_ADDRESS(camel_object_new(CAMEL_OBJECT_GET_TYPE(in)));
93
CamelAddress *new = CAMEL_ADDRESS(camel_object_new(CAMEL_OBJECT_GET_TYPE(addr)));
94
camel_address_cat(new, in);
95
camel_address_cat(new, addr);
99
101
* camel_address_length:
102
* Return the number of addresses stored in the address @a.
102
* @addr: a #CamelAddress object
104
* Get the number of addresses stored in the address @addr.
106
* Returns the number of addresses contained in @addr
107
camel_address_length(CamelAddress *a)
109
camel_address_length (CamelAddress *addr)
109
return a->addresses->len;
111
return addr->addresses->len;
113
116
* camel_address_decode:
115
* @raw: Raw address description.
117
* @addr: a #CamelAddress object
118
* @raw: raw address description
117
120
* Construct a new address from a raw address field.
119
* Return value: Returns the number of addresses found,
120
* or -1 if the addresses could not be parsed fully.
122
* Returns the number of addresses parsed or %-1 on fail
123
camel_address_decode (CamelAddress *a, const char *raw)
125
camel_address_decode (CamelAddress *addr, const char *raw)
125
g_return_val_if_fail(CAMEL_IS_ADDRESS(a), -1);
127
g_return_val_if_fail(CAMEL_IS_ADDRESS(addr), -1);
127
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->decode(a, raw);
129
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->decode(addr, raw);
131
134
* camel_address_encode:
135
* @addr: a #CamelAddress object
134
137
* Encode an address in a format suitable for a raw header.
136
* Return value: The encoded address.
139
* Returns the encoded address
139
camel_address_encode (CamelAddress *a)
142
camel_address_encode (CamelAddress *addr)
141
g_return_val_if_fail(CAMEL_IS_ADDRESS(a), NULL);
144
g_return_val_if_fail(CAMEL_IS_ADDRESS(addr), NULL);
143
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->encode(a);
146
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->encode(addr);
147
151
* camel_address_unformat:
152
* @addr: a #CamelAddress object
153
* @raw: raw address description
151
155
* Attempt to convert a previously formatted and/or edited
152
156
* address back into internal form.
154
* Return value: -1 if it could not be parsed, or the number
155
* of valid addresses found.
158
* Returns the number of addresses parsed or %-1 on fail
158
camel_address_unformat(CamelAddress *a, const char *raw)
161
camel_address_unformat(CamelAddress *addr, const char *raw)
160
g_return_val_if_fail(CAMEL_IS_ADDRESS(a), -1);
163
g_return_val_if_fail(CAMEL_IS_ADDRESS(addr), -1);
162
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->unformat(a, raw);
165
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->unformat(addr, raw);
166
170
* camel_address_format:
171
* @addr: a #CamelAddress object
169
173
* Format an address in a format suitable for display.
171
* Return value: The formatted address.
175
* Returns a newly allocated string containing the formatted addresses
174
camel_address_format (CamelAddress *a)
178
camel_address_format (CamelAddress *addr)
179
g_return_val_if_fail(CAMEL_IS_ADDRESS(a), NULL);
181
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->format(a);
180
g_return_val_if_fail(CAMEL_IS_ADDRESS(addr), NULL);
182
return CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->format(addr);
185
187
* camel_address_cat:
188
* @dest: destination #CamelAddress object
189
* @source: source #CamelAddress object
189
* Concatenate one address onto another. The addresses must
191
* Concatenate one address onto another. The addresses must
190
192
* be of the same type.
194
* Returns the number of addresses concatenated
195
camel_address_cat (CamelAddress *dest, const CamelAddress *source)
197
camel_address_cat (CamelAddress *dest, const CamelAddress *source)
197
199
g_return_val_if_fail(CAMEL_IS_ADDRESS(dest), -1);
198
200
g_return_val_if_fail(CAMEL_IS_ADDRESS(source), -1);
219
222
return camel_address_cat(dest, source);
223
227
* camel_address_remove:
225
* @index: The address to remove, use -1 to remove all address.
228
* @addr: a #CamelAddress object
229
* @index: The address to remove, use %-1 to remove all address.
227
231
* Remove an address by index, or all addresses.
230
camel_address_remove (CamelAddress *a, int index)
234
camel_address_remove (CamelAddress *addr, int index)
232
g_return_if_fail(CAMEL_IS_ADDRESS(a));
236
g_return_if_fail(CAMEL_IS_ADDRESS(addr));
234
238
if (index == -1) {
235
for (index=a->addresses->len; index>-1; index--)
236
CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->remove(a, index);
239
for (index = addr->addresses->len; index>-1; index--)
240
CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->remove(addr, index);
238
CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (a))->remove(a, index);
242
CAMEL_ADDRESS_CLASS (CAMEL_OBJECT_GET_CLASS (addr))->remove(addr, index);