- uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t * device, char * name,
- uint32_t parent_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.
- Returns:
id to new folder or 0 if an error occured
- References DEVICE_FLAG_ONLY_7BIT_FILENAMES,
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.