The folder management API.


Functions

LIBMTP_folder_tLIBMTP_new_folder_t (void)
void LIBMTP_destroy_folder_t (LIBMTP_folder_t *)
LIBMTP_folder_tLIBMTP_Get_Folder_List (LIBMTP_mtpdevice_t *)
LIBMTP_folder_tLIBMTP_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

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()

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

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

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()


Generated on Tue Jun 12 16:44:58 2012 for libmtp by  doxygen 1.4.6