New API functions isoburn_preset_msgs_submit(), isoburn_set_msgs_submit()

This commit is contained in:
2008-06-18 16:14:44 +00:00
parent ceca17e946
commit ae5ad5a143
7 changed files with 195 additions and 77 deletions

View File

@ -298,6 +298,24 @@ and would leave out the ugly compile time traps.
*/
/** Announce to the library an application provided method for immediate
delivery of messages. It is attached by default to any newly aquired drive
and can later be changed by isoburn_set_msgs_submit().
The preset method is also used when no drive is directly related to
a message.
If no method is preset or if the method is set to NULL then libisoburn
delivers its messages through the message queue of libburn.
@param msgs_submit The function call which implements the method
@param submit_handle Handle to be used as first argument of msgs_submit
@param submit_flag Flag to be used as last argument of msgs_submit
@param flag Unused yet, submit 0
@since 0.2.0
*/
int isoburn_preset_msgs_submit(int (*msgs_submit)(void *handle, int error_code,
char msg_text[], int os_errno,
char severity[], int flag),
void *submit_handle, int submit_flag, int flag);
/** Aquire a target drive by its filesystem path resp. libburn persistent
address.
Wrapper for: burn_drive_scan_and_grab()
@ -339,7 +357,6 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char* adr, int flag);
/** Aquire a drive from the burn_drive_info[] array which was obtained by
a previous call of burn_drive_scan().
Wrapper for: burn_drive_grab()
@ -351,6 +368,24 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
int isoburn_drive_grab(struct burn_drive *drive, int load);
/** Attach to a drive an application provided method for immediate
delivery of messages.
If no method is set or if the method is set to NULL then libisoburn
delivers messages of the drive through the message queue of libburn.
@since 0.2.0
@param d The drive to which this function, handle and flag shall apply
@param msgs_submit The function call which implements the method
@param submit_handle Handle to be used as first argument of msgs_submit
@param submit_flag Flag to be used as last argument of msgs_submit
@param flag Unused yet, submit 0
*/
int isoburn_set_msgs_submit(struct burn_drive *d,
int (*msgs_submit)(void *handle, int error_code,
char msg_text[], int os_errno,
char severity[], int flag),
void *submit_handle, int submit_flag, int flag);
/** Inquire the media status. Expect the whole spectrum of libburn BURN_DISC_*
with multi-session media. Emulated states with random access media are
BURN_DISC_BLANK and BURN_DISC_APPENDABLE.