Poster of Linux kernelThe best gift for a Linux geek
The folder management API.

The folder management API.

Section: libmtp (3) Updated: Sun Mar 20 2011
Local index Up
 

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)

int LIBMTP_Set_Folder_Name (LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
 

Function Documentation

 

uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t *device, char *name, uint32_tparent_id, uint32_tstorage_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. Note this can be modified if the device does not support all the characters in the name.
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(), and LIBMTP_Get_Folder_List().  

LIBMTP_folder_t* LIBMTP_Find_Folder (LIBMTP_folder_t *folderlist, uint32_tid)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 folder listing for.

Returns:

a list of folders

References LIBMTP_folder_struct::child, LIBMTP_folder_struct::folder_id, LIBMTP_destroy_folder_t(), LIBMTP_new_folder_t(), LIBMTP_folder_struct::name, LIBMTP_mtpdevice_struct::params, LIBMTP_folder_struct::parent_id, LIBMTP_folder_struct::sibling, and LIBMTP_folder_struct::storage_id.  

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.

Referenced by LIBMTP_Get_Folder_List().  

int LIBMTP_Set_Folder_Name (LIBMTP_mtpdevice_t *device, LIBMTP_folder_t *folder, const char *newname)This function renames a single folder. This simply means that the PTP_OPC_ObjectFileName property is updated, if this is supported by the device.

Parameters:

device a pointer to the device that contains the file.
folder the folder metadata of the folder to rename. On success, the name member is updated. Be aware, that this name can be different than newname depending of device restrictions.
newname the new name for this object.

Returns:

0 on success, any other value means failure.

References LIBMTP_folder_struct::folder_id, and LIBMTP_folder_struct::name.  

Author

Generated automatically by Doxygen for libmtp from the source code.


 

Index

NAME
Functions
Function Documentation
uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t *device, char *name, uint32_tparent_id, uint32_tstorage_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'.
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.
LIBMTP_folder_t* LIBMTP_Find_Folder (LIBMTP_folder_t *folderlist, uint32_tid)Helper function. Returns a folder structure for a specified id.
LIBMTP_folder_t* LIBMTP_Get_Folder_List (LIBMTP_mtpdevice_t *device)This returns a list of all folders available on the current MTP device.
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.:
int LIBMTP_Set_Folder_Name (LIBMTP_mtpdevice_t *device, LIBMTP_folder_t *folder, const char *newname)This function renames a single folder. This simply means that the PTP_OPC_ObjectFileName property is updated, if this is supported by the device.
Author

This document was created by man2html, using the manual pages.
Time: 21:50:47 GMT, April 16, 2011