## ENameSelectorModel

ENameSelectorModel

## Functions

ENameSelectorModel * | e_name_selector_model_new ()
EContactStore * | e_name_selector_model_peek_contact_store ()
ETreeModelGenerator * | e_name_selector_model_peek_contact_filter ()
GList * | e_name_selector_model_list_sections ()
gboolean | e_name_selector_model_peek_section ()
void | e_name_selector_model_add_section ()
void | e_name_selector_model_remove_section ()
GList * | e_name_selector_model_get_contact_emails_without_used ()
void | e_name_selector_model_free_emails_list ()

## Signals

void | section-added | Run Last
void | section-removed | Run Last

## Object Hierarchy

        GObject
        ╰── ENameSelectorModel

## Description

## Functions

### e_name_selector_model_new ()

    ENameSelectorModel *
    e_name_selector_model_new (void);

Creates a new ENameSelectorModel.

#### Returns

A new ENameSelectorModel.

### e_name_selector_model_peek_contact_store ()

    EContactStore *
    e_name_selector_model_peek_contact_store
                                   (ENameSelectorModel *name_selector_model);

Gets the EContactStore associated with `name_selector_model` .

#### Parameters

name_selector_model | an ENameSelectorModel |

#### Returns

An EContactStore.

### e_name_selector_model_peek_contact_filter ()

    ETreeModelGenerator *
    e_name_selector_model_peek_contact_filter
                                   (ENameSelectorModel *name_selector_model);

Gets the ETreeModelGenerator being used to filter and/or extend the list of contacts in `name_selector_model` 's EContactStore.

#### Parameters

name_selector_model | an ENameSelectorModel |

#### Returns

An ETreeModelGenerator.

### e_name_selector_model_list_sections ()

    GList *
    e_name_selector_model_list_sections (ENameSelectorModel *name_selector_model);

Gets a list of the destination sections in `name_selector_model` .

#### Parameters

name_selector_model | an ENameSelectorModel |

#### Returns

A GList of pointers to strings. The GList and the strings belong to the caller, and must be freed when no longer needed.

### e_name_selector_model_peek_section ()

    gboolean
    e_name_selector_model_peek_section (ENameSelectorModel *name_selector_model,
                                        const gchar *name,
                                        gchar **pretty_name,
                                        EDestinationStore **destination_store);

Gets the parameters for a destination section.

#### Parameters

name_selector_model | an ENameSelectorModel |
name | internal name of the section to peek |
pretty_name | location in which to store a pointer to the user-visible name of the section, or `NULL` if undesired. |
destination_store | location in which to store a pointer to the EDestinationStore being used by the section, or `NULL` if undesired |

### e_name_selector_model_add_section ()

    void
    e_name_selector_model_add_section (ENameSelectorModel *name_selector_model,
                                       const gchar *name,
                                       const gchar *pretty_name,
                                       EDestinationStore *destination_store);

Adds a destination section to `name_selector_model` .

#### Parameters

name_selector_model | an ENameSelectorModel |
name | internal name of this section |
pretty_name | user-visible name of this section |
destination_store | the EDestinationStore to use to store the destinations for this section, or `NULL` if `name_selector_model` should create its own. |

### e_name_selector_model_remove_section ()

    void
    e_name_selector_model_remove_section (ENameSelectorModel *name_selector_model,
                                          const gchar *name);

Removes a destination section from `name_selector_model` .

#### Parameters

name_selector_model | an ENameSelectorModel |
name | internal name of the section to remove |

### e_name_selector_model_get_contact_emails_without_used ()

    GList *
    e_name_selector_model_get_contact_emails_without_used
                                   (ENameSelectorModel *name_selector_model,
                                    EContact *contact,
                                    gboolean remove_used);

Returns list of all email from `contact` , without all used in any section. Each item is a string, an email address. Returned list should be freed with `e_name_selector_model_free_emails_list` .

#### Parameters

name_selector_model | an ENameSelectorModel |
contact | to get emails from |
remove_used | set to `TRUE` to remove used from a list; or set to `FALSE` to set used indexes to `NULL` and keep them in the returned list |

Since: 2.30

### e_name_selector_model_free_emails_list ()

    void
    e_name_selector_model_free_emails_list
                                   (GList *email_list);

Frees a list of emails returned from `e_name_selector_model_get_contact_emails_without_used` .

#### Parameters

email_list | list of emails returned from `e_name_selector_model_get_contact_emails_without_used` |

Since: 2.30

## Signal Details

### The `“section-added”` signal

    void
    user_function (ENameSelectorModel *enameselectormodel,
                   char               *arg1,
                   gpointer            user_data)

Flags: Run Last

### The `“section-removed”` signal

    void
    user_function (ENameSelectorModel *enameselectormodel,
                   char               *arg1,
                   gpointer            user_data)

Flags: Run Last