libmtp 1.1.23

Functions
The object management API.

## Functions
int | LIBMTP_Delete_Object (LIBMTP_mtpdevice_t *, uint32_t)
int | LIBMTP_Move_Object (LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
int | LIBMTP_Copy_Object (LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
int | LIBMTP_Set_Object_Filename (LIBMTP_mtpdevice_t *, uint32_t, char *)
int | LIBMTP_GetPartialObject (LIBMTP_mtpdevice_t *, uint32_t const, uint64_t, uint32_t, unsigned char **, unsigned int *)
int | LIBMTP_SendPartialObject (LIBMTP_mtpdevice_t *, uint32_t const, uint64_t, unsigned char *, unsigned int)
int | LIBMTP_BeginEditObject (LIBMTP_mtpdevice_t *, uint32_t const)
int | LIBMTP_EndEditObject (LIBMTP_mtpdevice_t *, uint32_t const)
int | LIBMTP_TruncateObject (LIBMTP_mtpdevice_t *, uint32_t const, uint64_t)

## Detailed Description

## Function Documentation

## ◆ LIBMTP_Copy_Object()

int LIBMTP_Copy_Object | ( | LIBMTP_mtpdevice_t * | device,
|  | uint32_t | object_id,
|  | uint32_t | storage_id,
|  | uint32_t | parent_id )

The function copies an object from one location on a device to another location.

The semantics of copying a folder are not defined in the spec, but it appears to do the right thing when tested (but devices that implement this operation are rare).

Note that copying an object may take a significant amount of time. MTP does not provide any kind of progress mechanism, so the operation will simply block for the duration.

Parameters

  device | a pointer to the device where the object exists.
  object_id | the object to copy.
  storage_id | the id of the destination storage.
  parent_id | the id of the destination parent object (folder). If the destination is the root of the storage, pass '0'.

Returns
  0 on success, any other value means failure.

References LIBMTP_mtpdevice_struct::params.

## ◆ LIBMTP_Delete_Object()

int LIBMTP_Delete_Object | ( | LIBMTP_mtpdevice_t * | device,
|  | uint32_t | object_id )

This function deletes a single file, track, playlist, folder or any other object off the MTP device, identified by the object ID.

If you delete a folder, there is no guarantee that the device will really delete all the files that were in that folder, rather it is expected that they will not be deleted, and will turn up in object listings with parent set to a non-existant object ID. The safe way to do this is to recursively delete all files (and folders) contained in the folder, then the folder itself.

Parameters

  device | a pointer to the device to delete the object from.
  object_id | the object to delete.

Returns
  0 on success, any other value means failure.

References LIBMTP_mtpdevice_struct::params.

## ◆ LIBMTP_Move_Object()

int LIBMTP_Move_Object | ( | LIBMTP_mtpdevice_t * | device,
|  | uint32_t | object_id,
|  | uint32_t | storage_id,
|  | uint32_t | parent_id )

The function moves an object from one location on a device to another location.

The semantics of moving a folder are not defined in the spec, but it appears to do the right thing when tested (but devices that implement this operation are rare).

Note that moving an object may take a significant amount of time, particularly if being moved between storages. MTP does not provide any kind of progress mechanism, so the operation will simply block for the duration.

Parameters

  device | a pointer to the device where the object exists.
  object_id | the object to move.
  storage_id | the id of the destination storage.
  parent_id | the id of the destination parent object (folder). If the destination is the root of the storage, pass '0'.

Returns
  0 on success, any other value means failure.

References LIBMTP_mtpdevice_struct::params.

## ◆ LIBMTP_Set_Object_Filename()

int LIBMTP_Set_Object_Filename | ( | LIBMTP_mtpdevice_t * | device,
|  | uint32_t | object_id,
|  | char * | newname )

THIS FUNCTION IS DEPRECATED. PLEASE UPDATE YOUR CODE IN ORDER NOT TO USE IT.

See also
  LIBMTP_Set_File_Name()
  LIBMTP_Set_Track_Name()
  LIBMTP_Set_Folder_Name()
  LIBMTP_Set_Playlist_Name()
  LIBMTP_Set_Album_Name()

References LIBMTP_file_struct::filetype, and LIBMTP_Get_Filemetadata().