## Contacts

Contacts — A contact of a user.

## Synopsis

                        flickcurl_contact;
    flickcurl_contact ** flickcurl_contacts_getList         (flickcurl *fc,
                                                             const char *filter,
                                                             int page,
                                                             int per_page);
    flickcurl_contact ** flickcurl_contacts_getListRecentlyUploaded
                                                            (flickcurl *fc,
                                                             int date_lastupload,
                                                             const char *filter);
    flickcurl_contact ** flickcurl_contacts_getPublicList   (flickcurl *fc,
                                                             const char *user_id,
                                                             int page,
                                                             int per_page);
    flickcurl_contact ** flickcurl_contacts_getTaggingSuggestions
                                                            (flickcurl *fc,
                                                             const char *include_self,
                                                             const char *include_address_book,
                                                             int page,
                                                             int per_page);
    void                flickcurl_free_contact              (flickcurl_contact *contact_object);
    void                flickcurl_free_contacts             (flickcurl_contact **contacts_object);

## Description

A contact of a user.

## Details

### flickcurl_contact

    typedef struct {
      char *nsid;
      char *username;
      int iconserver;
      char *realname;
      int is_friend;
      int is_family;
      int ignored;
      int uploaded;
    } flickcurl_contact;

A contact.

char *`nsid`; | NSID
char *`username`; | user name
int `iconserver`; | icon server
char *`realname`; | real name
int `is_friend`; | is friend boolean
int `is_family`; | is family boolean
int `ignored`; | ignored
int `uploaded`; | count of number of photos uploaded (for `flickcurl_contacts_getListRecentlyUploaded()` )

### flickcurl_contacts_getList ()

    flickcurl_contact ** flickcurl_contacts_getList         (flickcurl *fc,
                                                             const char *filter,
                                                             int page,
                                                             int per_page);

Get a list of contacts for the calling user.

Implements flickr.contacts.getList (0.11)

`fc` : | flickcurl context
`filter` : | An optional filter of the results. The following values are valid: friends, family, both or neither (or NULL)
`page` : | The page of results to return. If this argument is omitted, it defaults to 1. (or NULL)
`per_page` : | Number of photos to return per page. If this argument is omitted, it defaults to 1000. The maximum allowed value is 1000. (or NULL)
Returns : | NULL on failure

### flickcurl_contacts_getListRecentlyUploaded ()

    flickcurl_contact ** flickcurl_contacts_getListRecentlyUploaded
                                                            (flickcurl *fc,
                                                             int date_lastupload,
                                                             const char *filter);

Return a list of contacts for a user who have recently uploaded photos along with the total count of photos uploaded.

This API added 2009-01-14 as announced in http://tech.groups.yahoo.com/group/yws-flickr/message/4668

Implements flickr.contacts.getListRecentlyUploaded (1.8)

`fc` : | flickcurl context
`date_lastupload` : | Limits the results to contacts that have uploaded photos since this date (in the form of a Unix timestamp). The default, and maximum, offset is 1 hour. (or < 0)
`filter` : | Limit the result set to all contacts or only those who are friends or family. Valid options are: ff: friends and family, all: all your contacts. Default value is "all". (or NULL)
Returns : | NULL on failure

### flickcurl_contacts_getPublicList ()

    flickcurl_contact ** flickcurl_contacts_getPublicList   (flickcurl *fc,
                                                             const char *user_id,
                                                             int page,
                                                             int per_page);

Get the contact list for a user.

Implements flickr.contacts.getPublicList (0.11)

`fc` : | flickcurl context
`user_id` : | The NSID of the user to fetch the contact list for.
`page` : | The page of results to return. If this argument is omitted, it defaults to 1. (or NULL)
`per_page` : | Number of photos to return per page. If this argument is omitted, it defaults to 1000. The maximum allowed value is 1000. (or NULL)
Returns : | list of contacts or NULL on failure

### flickcurl_contacts_getTaggingSuggestions ()

    flickcurl_contact ** flickcurl_contacts_getTaggingSuggestions
                                                            (flickcurl *fc,
                                                             const char *include_self,
                                                             const char *include_address_book,
                                                             int page,
                                                             int per_page);

Get suggestions for tagging people in photos based on the calling user's contacts.

Implements flickr.contacts.getTaggingSuggestions (1.25)

NOTE: Parameter order is `page`, `per_page` like all other flickr.contacts.* calls, NOT `per_page`, `page` like in the API docs.

`fc` : | flickcurl context
`include_self` : | Return calling user in the list of suggestions. Default: true. (or NULL)
`include_address_book` : | Include suggestions from the user's address book. Default: false (or NULL)
`page` : | The page of results to return. If this argument is omitted, it defaults to 1. (or < 0)
`per_page` : | Number of contacts to return per page. If this argument is omitted, all contacts will be returned. (or < 0)
Returns : | list of contacts or NULL on failure

### flickcurl_free_contact ()

    void                flickcurl_free_contact              (flickcurl_contact *contact_object);

Destructor for contact object

`contact_object` : | contact object

### flickcurl_free_contacts ()

    void                flickcurl_free_contacts             (flickcurl_contact **contacts_object);

Destructor for array of contact object

`contacts_object` : | contact object array