mtp_folders

Langue: en

Version: 321678 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

libmtp - The folder management API.

Functions


LIBMTP_folder_t * LIBMTP_new_folder_t (void)

void LIBMTP_destroy_folder_t (LIBMTP_folder_t *)

LIBMTP_folder_t * LIBMTP_Get_Folder_List (LIBMTP_mtpdevice_t *)

LIBMTP_folder_t * LIBMTP_Find_Folder (LIBMTP_folder_t *, uint32_t const)

uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)

Function Documentation

uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t * device, char * name, uint32_t parent_id, uint32_t storage_id)

This create a folder on the current MTP device. The PTP name for a folder is 'association'. The PTP/MTP devices does not have an internal 'folder' concept really, it contains a flat list of all files and some file are 'associations' that other files and folders may refer to as its 'parent'.

Parameters:

device a pointer to the device to create the folder on.
name the name of the new folder.
parent_id id of parent folder to add the new folder to, or 0 to put it in the root directory.
storage_id id of the storage to add this new folder to. notice that you cannot mismatch storage id and parent id: they must both be on the same storage! Pass in 0 if you want to create this folder on the default storage.

Returns:

id to new folder or 0 if an error occured

References LIBMTP_mtpdevice_struct::params, strip_7bit_from_utf8(), and LIBMTP_mtpdevice_struct::usbinfo.

void LIBMTP_destroy_folder_t (LIBMTP_folder_t * folder)

This recursively deletes the memory for a folder structure. This shall typically be called on a top-level folder list to detsroy the entire folder tree.

Parameters:

folder folder structure to destroy

See also:

LIBMTP_new_folder_t()

References LIBMTP_folder_struct::child, LIBMTP_destroy_folder_t(), LIBMTP_folder_struct::name, and LIBMTP_folder_struct::sibling.

Referenced by LIBMTP_destroy_folder_t().

LIBMTP_folder_t* LIBMTP_Find_Folder (LIBMTP_folder_t * folderlist, uint32_t id)

Helper function. Returns a folder structure for a specified id.

Parameters:

folderlist list of folders to search id of folder to look for

Returns:

a folder or NULL if not found

References LIBMTP_folder_struct::child, LIBMTP_folder_struct::folder_id, LIBMTP_Find_Folder(), and LIBMTP_folder_struct::sibling.

Referenced by LIBMTP_Find_Folder().

LIBMTP_folder_t* LIBMTP_Get_Folder_List (LIBMTP_mtpdevice_t * device)

This returns a list of all folders available on the current MTP device.

Parameters:

device a pointer to the device to get the track listing for.

Returns:

a list of folders

References LIBMTP_mtpdevice_struct::params.

LIBMTP_folder_t* LIBMTP_new_folder_t (void)

This creates a new folder structure and allocates memory for it. Notice that if you add strings to this structure they will be freed by the corresponding LIBMTP_folder_track_t operation later, so be careful of using strdup() when assigning strings, e.g.:

Returns:

a pointer to the newly allocated folder structure.

See also:

LIBMTP_destroy_folder_t()

References LIBMTP_folder_struct::folder_id.

Author

Generated automatically by Doxygen for libmtp from the source code.