InternetAddress

InternetAddress — Internet addresses

Synopsis

enum                InternetAddressType;
                    InternetAddressList;
                    InternetAddress;
InternetAddress*    internet_address_new                (void);
InternetAddress*    internet_address_new_name           (const char *name,
                                                         const char *addr);
InternetAddress*    internet_address_new_group          (const char *name);
void                internet_address_ref                (InternetAddress *ia);
void                internet_address_unref              (InternetAddress *ia);
InternetAddressType internet_address_get_type           (InternetAddress *ia);
const char*         internet_address_get_name           (InternetAddress *ia);
void                internet_address_set_name           (InternetAddress *ia,
                                                         const char *name);
const char*         internet_address_get_addr           (InternetAddress *ia);
void                internet_address_set_addr           (InternetAddress *ia,
                                                         const char *addr);
void                internet_address_set_group          (InternetAddress *ia,
                                                         InternetAddressList *group);
void                internet_address_add_member         (InternetAddress *ia,
                                                         InternetAddress *member);
const InternetAddressList* internet_address_get_members (InternetAddress *ia);
char*               internet_address_to_string          (const InternetAddress *ia,
                                                         gboolean encode);
InternetAddressList* internet_address_list_new          (void);
void                internet_address_list_destroy       (InternetAddressList *list);
int                 internet_address_list_length        (const InternetAddressList *list);
void                internet_address_list_clear         (InternetAddressList *list);
int                 internet_address_list_add           (InternetAddressList *list,
                                                         InternetAddress *ia);
void                internet_address_list_concat        (InternetAddressList *list,
                                                         InternetAddressList *concat);
void                internet_address_list_insert        (InternetAddressList *list,
                                                         int index,
                                                         InternetAddress *ia);
gboolean            internet_address_list_remove        (InternetAddressList *list,
                                                         InternetAddress *ia);
gboolean            internet_address_list_remove_at     (InternetAddressList *list,
                                                         int index);
gboolean            internet_address_list_contains      (const InternetAddressList *list,
                                                         const InternetAddress *ia);
int                 internet_address_list_index_of      (const InternetAddressList *list,
                                                         const InternetAddress *ia);
const InternetAddress* internet_address_list_get_address
                                                        (const InternetAddressList *list,
                                                         int index);
void                internet_address_list_set_address   (InternetAddressList *list,
                                                         int index,
                                                         InternetAddress *ia);
char*               internet_address_list_to_string     (const InternetAddressList *list,
                                                         gboolean encode);
InternetAddressList* internet_address_list_parse_string (const char *str);
void                internet_address_list_writer        (const InternetAddressList *list,
                                                         GString *str);

Description

An InternetAddress represents what is commonly referred to as an E-Mail address.

Details

enum InternetAddressType

typedef enum {
	INTERNET_ADDRESS_NONE,
	INTERNET_ADDRESS_NAME,
	INTERNET_ADDRESS_GROUP
} InternetAddressType;

The type of InternetAddress.

INTERNET_ADDRESS_NONE

No type.

INTERNET_ADDRESS_NAME

A typical internet address type.

INTERNET_ADDRESS_GROUP

An rfc822 group type address.

InternetAddressList

typedef struct _InternetAddressList InternetAddressList;

A collection of InternetAddresses.


InternetAddress

typedef struct {
	InternetAddressType type;
	unsigned int refcount;
	char *name;
	union {
		char *addr;
		InternetAddressList *members;
	} value;
} InternetAddress;

A structure representing an rfc822 address.

InternetAddressType type;

The type of internet address.

unsigned int refcount;

The reference count.

char *name;

The name component of the internet address.

internet_address_new ()

InternetAddress*    internet_address_new                (void);

Creates a new InternetAddress object

Returns :

a new InternetAddress object.

internet_address_new_name ()

InternetAddress*    internet_address_new_name           (const char *name,
                                                         const char *addr);

Creates a new InternetAddress object with name name and address addr.

name :

person's name

addr :

person's address

Returns :

a new InternetAddress object.

internet_address_new_group ()

InternetAddress*    internet_address_new_group          (const char *name);

Creates a new InternetAddress object with group name name.

name :

group name

Returns :

a new InternetAddress object.

internet_address_ref ()

void                internet_address_ref                (InternetAddress *ia);

Ref's the internet address.

ia :

internet address

internet_address_unref ()

void                internet_address_unref              (InternetAddress *ia);

Unref's the internet address.

ia :

internet address

internet_address_get_type ()

InternetAddressType internet_address_get_type           (InternetAddress *ia);

Gets the type of the internet address, which will either be INTERNET_ADDRESS_NAME or INTERNET_ADDRESS_GROUP.

ia :

internet address

Returns :

the type of ia.

internet_address_get_name ()

const char*         internet_address_get_name           (InternetAddress *ia);

Gets the name component of the internet address. If the internet address is a group, it will get the group name.

ia :

internet address

Returns :

the name of ia.

internet_address_set_name ()

void                internet_address_set_name           (InternetAddress *ia,
                                                         const char *name);

Set the name of the internet address.

ia :

internet address

name :

group or contact's name

internet_address_get_addr ()

const char*         internet_address_get_addr           (InternetAddress *ia);

Gets the addr-spec of the internet address.

ia :

internet address

Returns :

the address of ia.

internet_address_set_addr ()

void                internet_address_set_addr           (InternetAddress *ia,
                                                         const char *addr);

Set the internet address's address.

ia :

internet address

addr :

contact's email address

internet_address_set_group ()

void                internet_address_set_group          (InternetAddress *ia,
                                                         InternetAddressList *group);

Set the members of the internet address group.

ia :

internet address

group :

a list of internet addresses

internet_address_add_member ()

void                internet_address_add_member         (InternetAddress *ia,
                                                         InternetAddress *member);

Add a contact to the internet address group.

ia :

internet address

member :

group member's internet address

internet_address_get_members ()

const InternetAddressList* internet_address_get_members (InternetAddress *ia);

Gets the InternetAddressList containing the group members of an rfc822 group address.

ia :

internet address

Returns :

the members of ia.

internet_address_to_string ()

char*               internet_address_to_string          (const InternetAddress *ia,
                                                         gboolean encode);

Allocates a string containing the contents of the InternetAddress object.

ia :

Internet Address object

encode :

TRUE if the address should be rfc2047 encoded

Returns :

the InternetAddress object as an allocated string in rfc822 format.

internet_address_list_new ()

InternetAddressList* internet_address_list_new          (void);

Creates a new InternetAddressList.

Returns :

a new InternetAddressList.

internet_address_list_destroy ()

void                internet_address_list_destroy       (InternetAddressList *list);

Destroys the list of InternetAddress objects.


internet_address_list_length ()

int                 internet_address_list_length        (const InternetAddressList *list);

Gets the length of the list.

list :

a InternetAddressList

Returns :

the number of InternetAddress objects in the list.

internet_address_list_clear ()

void                internet_address_list_clear         (InternetAddressList *list);

Clears the list of addresses.


internet_address_list_add ()

int                 internet_address_list_add           (InternetAddressList *list,
                                                         InternetAddress *ia);

Adds an InternetAddress to the InternetAddressList.

list :

a InternetAddressList

ia :

a InternetAddress

Returns :

the index of the added InternetAddress.

internet_address_list_concat ()

void                internet_address_list_concat        (InternetAddressList *list,
                                                         InternetAddressList *concat);

Adds all of the addresses in concat to list.


internet_address_list_insert ()

void                internet_address_list_insert        (InternetAddressList *list,
                                                         int index,
                                                         InternetAddress *ia);

Inserts an InternetAddress into the InternetAddressList at the specified index.

list :

a InternetAddressList

index :

index to insert at

ia :

a InternetAddress

internet_address_list_remove ()

gboolean            internet_address_list_remove        (InternetAddressList *list,
                                                         InternetAddress *ia);

Removes an InternetAddress from the InternetAddressList.

list :

a InternetAddressList

ia :

a InternetAddress

Returns :

TRUE if the specified InternetAddress was removed or FALSE otherwise.

internet_address_list_remove_at ()

gboolean            internet_address_list_remove_at     (InternetAddressList *list,
                                                         int index);

Removes an InternetAddress from the InternetAddressList at the specified index.

list :

a InternetAddressList

index :

index to remove

Returns :

TRUE if an InternetAddress was removed or FALSE otherwise.

internet_address_list_contains ()

gboolean            internet_address_list_contains      (const InternetAddressList *list,
                                                         const InternetAddress *ia);

Checks whether or not the specified InternetAddress is contained within the InternetAddressList.

list :

a InternetAddressList

ia :

a InternetAddress

Returns :

TRUE if the specified InternetAddress is contained within the specified InternetAddressList or FALSE otherwise.

internet_address_list_index_of ()

int                 internet_address_list_index_of      (const InternetAddressList *list,
                                                         const InternetAddress *ia);

Gets the index of the specified InternetAddress inside the InternetAddressList.

list :

a InternetAddressList

ia :

a InternetAddress

Returns :

the index of the requested InternetAddress within the InternetAddressList or -1 if it is not contained within the InternetAddressList.

internet_address_list_get_address ()

const InternetAddress* internet_address_list_get_address
                                                        (const InternetAddressList *list,
                                                         int index);

Gets the InternetAddress at the specified index.

list :

a InternetAddressList

index :

index of InternetAddress to get

Returns :

the InternetAddress at the specified index or NULL if the index is out of range.

internet_address_list_set_address ()

void                internet_address_list_set_address   (InternetAddressList *list,
                                                         int index,
                                                         InternetAddress *ia);

Sets the InternetAddress at the specified index to ia.

list :

a InternetAddressList

index :

index of InternetAddress to set

ia :

a InternetAddress

internet_address_list_to_string ()

char*               internet_address_list_to_string     (const InternetAddressList *list,
                                                         gboolean encode);

Allocates a string buffer containing the rfc822 formatted addresses in list.

list :

list of internet addresses

encode :

TRUE if the address should be rfc2047 encoded

Returns :

a string containing the list of addresses in rfc822 format.

internet_address_list_parse_string ()

InternetAddressList* internet_address_list_parse_string (const char *str);

Construct a list of internet addresses from the given string.

str :

a string containing internet addresses

Returns :

a InternetAddressList or NULL if the input string does not contain any addresses.

internet_address_list_writer ()

void                internet_address_list_writer        (const InternetAddressList *list,
                                                         GString *str);

Writes the rfc2047-encoded rfc822 formatted addresses in list to string, folding appropriately.

list :

list of internet addresses

str :

string to write to