## FolksAbstractFieldDetails

FolksAbstractFieldDetails — Object representing any type of value that can have some vCard-like parameters associated with it.

## Types and Values

#define | FOLKS_TYPE_ABSTRACT_FIELD_DETAILS
#define | FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE
#define | FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_HOME
#define | FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_WORK
#define | FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_OTHER
struct | FolksAbstractFieldDetails
struct | FolksAbstractFieldDetailsClass

## Description

Some contact details, like phone numbers or URLs, can have some extra details associated with them. For instance, a phone number expressed in vcard notation as `tel;type=work,voice:(111) 555-1234` would be represented as a AbstractFieldDetails with value "(111) 555-1234" and with parameters `['type': ('work', 'voice')]`.

The parameter name "type" with values "work", "home", or "other" are common amongst most vCard attributes (and thus most AbstractFieldDetails-derived classes). A "type" of "pref" may be used to indicate a preferred "value" amongst many. See specific classes for information on additional parameters and values specific to that class.

See RFC2426 for more details on pre-defined parameter names and values.

## Functions

## Types and Values

### FOLKS_TYPE_ABSTRACT_FIELD_DETAILS

    #define FOLKS_TYPE_ABSTRACT_FIELD_DETAILS (folks_abstract_field_details_get_type ())

The type for FolksAbstractFieldDetails.

### FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE

    #define FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE "type"

Parameter name for classifying the type of value this field contains.

For example, the value could be relevant to the contact's home life, or to their work life; values of `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_HOME` and `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_WORK` would be used for the `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE` parameter, respectively, in those cases.

Since: 0.6.3

### FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_HOME

    #define FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_HOME "home"

Parameter value for home-related field values.

Value for a parameter with name `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE`.

Since: 0.6.3

### FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_WORK

    #define FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_WORK "work"

Parameter value for work-related field values.

Value for a parameter with name `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE`.

Since: 0.6.3

### FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_OTHER

    #define FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE_OTHER "other"

Parameter value for miscellaneous field values.

Value for a parameter with name `FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE`.

Since: 0.6.3

### struct FolksAbstractFieldDetails

    struct FolksAbstractFieldDetails {
    	GObject parent_instance;
    	FolksAbstractFieldDetailsPrivate * priv;
    };

Object representing any type of value that can have some vCard-like parameters associated with it.

Some contact details, like phone numbers or URLs, can have some extra details associated with them. For instance, a phone number expressed in vcard notation as `tel;type=work,voice:(111) 555-1234` would be represented as a AbstractFieldDetails with value "(111) 555-1234" and with parameters `['type': ('work', 'voice')]`.

The parameter name "type" with values "work", "home", or "other" are common amongst most vCard attributes (and thus most AbstractFieldDetails-derived classes). A "type" of "pref" may be used to indicate a preferred "value" amongst many. See specific classes for information on additional parameters and values specific to that class.

See RFC2426 for more details on pre-defined parameter names and values.

Since: 0.6.0

### struct FolksAbstractFieldDetailsClass

    struct FolksAbstractFieldDetailsClass {
    	GObjectClass parent_class;
    	gboolean (*equal) (FolksAbstractFieldDetails* self, FolksAbstractFieldDetails* that);
    	gboolean (*parameters_equal) (FolksAbstractFieldDetails* self, FolksAbstractFieldDetails* that);
    	gboolean (*values_equal) (FolksAbstractFieldDetails* self, FolksAbstractFieldDetails* that);
    	guint (*hash) (FolksAbstractFieldDetails* self);
    	gconstpointer (*get_value) (FolksAbstractFieldDetails* self);
    	void (*set_value) (FolksAbstractFieldDetails* self, gconstpointer value);
    	const gchar* (*get_id) (FolksAbstractFieldDetails* self);
    	void (*set_id) (FolksAbstractFieldDetails* self, const gchar* value);
    	GeeMultiMap* (*get_parameters) (FolksAbstractFieldDetails* self);
    	void (*set_parameters) (FolksAbstractFieldDetails* self, GeeMultiMap* value);
    };

The class structure for `FOLKS_TYPE_ABSTRACT_FIELD_DETAILS`. All the fields in this structure are private and should never be accessed directly.

#### Members

`equal` () | virtual method called by ``folks_abstract_field_details_equal()`` |
`parameters_equal` () | virtual method called by ``folks_abstract_field_details_parameters_equal()`` |
`values_equal` () | virtual method called by ``folks_abstract_field_details_values_equal()`` |
`hash` () | virtual method called by ``folks_abstract_field_details_hash()`` |
`get_value` () | getter method for the abstract property "value" |
`set_value` () |  |
`get_id` () | getter method for the abstract property "id" |
`set_id` () | setter method for the abstract property "id" |
`get_parameters` () | getter method for the abstract property "parameters" |
`set_parameters` () |  |