ticket 125
This commit is contained in:
parent
5c2da2d97e
commit
a98b4eda40
@ -2526,6 +2526,50 @@ int iso_set_msgs_severities(char *queue_severity, char *print_severity,
|
||||
int iso_obtain_msgs(char *minimum_severity, int *error_code, int *imgid,
|
||||
char msg_text[], char severity[]);
|
||||
|
||||
|
||||
/** Submit a message to the libisofs queueing system. It will be queued or
|
||||
printed as if it was generated by libburn itself.
|
||||
@param error_code The unique error code of your message.
|
||||
Submit 0 if you do not have reserved error codes within
|
||||
the libburnia project.
|
||||
@param msg_text Not more than ISO_MSGS_MESSAGE_LEN characters of
|
||||
message text.
|
||||
@param os_errno Eventual errno related to the message. Submit 0 if
|
||||
the message is not related to a operating system error.
|
||||
@param severity One of "ABORT", "FATAL", "FAILURE", "SORRY", "WARNING",
|
||||
"HINT", "NOTE", "UPDATE", "DEBUG". Defaults to "FATAL".
|
||||
@param origin Submit 0 for now.
|
||||
@return 1 if message was delivered, <=0 if failure
|
||||
|
||||
@since 0.6.4
|
||||
*/
|
||||
int iso_msgs_submit(int error_code, char msg_text[], int os_errno,
|
||||
char severity[], int origin);
|
||||
|
||||
|
||||
/** Convert a severity name into a severity number, which gives the severity
|
||||
rank of the name.
|
||||
@since 0.6.4
|
||||
@param severity_name A name as with iso_msgs_submit(), e.g. "SORRY".
|
||||
@param severity_number The rank number: the higher, the more severe.
|
||||
@param flag Bitfield for control purposes (unused yet, submit 0)
|
||||
@return >0 success, <=0 failure
|
||||
|
||||
@since 0.6.4
|
||||
*/
|
||||
int iso_text_to_sev(char *severity_name, int *severity_number, int flag);
|
||||
|
||||
|
||||
/** Convert a severity number into a severity name
|
||||
@param severity_number The rank number: the higher, the more severe.
|
||||
@param severity_name A name as with iso_msgs_submit(), e.g. "SORRY".
|
||||
@param flag Bitfield for control purposes (unused yet, submit 0)
|
||||
|
||||
@since 0.6.4
|
||||
*/
|
||||
int iso_sev_to_text(int severity_number, char **severity_name, int flag);
|
||||
|
||||
|
||||
/**
|
||||
* Get the id of an IsoImage, used for message reporting. This message id,
|
||||
* retrieved with iso_obtain_msgs(), can be used to distinguish what
|
||||
|
@ -335,6 +335,60 @@ int iso_obtain_msgs(char *minimum_severity, int *error_code, int *imgid,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* ts A80222 : derived from libburn/init.c:burn_msgs_submit()
|
||||
*/
|
||||
int iso_msgs_submit(int error_code, char msg_text[], int os_errno,
|
||||
char severity[], int origin)
|
||||
{
|
||||
int ret, sevno, global_index = -1;
|
||||
|
||||
ret = libiso_msgs__text_to_sev(severity, &sevno, 0);
|
||||
if (ret <= 0)
|
||||
sevno = LIBISO_MSGS_SEV_FATAL;
|
||||
if (error_code <= 0) {
|
||||
switch(sevno) {
|
||||
case LIBISO_MSGS_SEV_ABORT: error_code = 0x00040000;
|
||||
break; case LIBISO_MSGS_SEV_FATAL: error_code = 0x00040001;
|
||||
break; case LIBISO_MSGS_SEV_SORRY: error_code = 0x00040002;
|
||||
break; case LIBISO_MSGS_SEV_WARNING: error_code = 0x00040003;
|
||||
break; case LIBISO_MSGS_SEV_HINT: error_code = 0x00040004;
|
||||
break; case LIBISO_MSGS_SEV_NOTE: error_code = 0x00040005;
|
||||
break; case LIBISO_MSGS_SEV_UPDATE: error_code = 0x00040006;
|
||||
break; case LIBISO_MSGS_SEV_DEBUG: error_code = 0x00040007;
|
||||
break; default: error_code = 0x00040008;
|
||||
}
|
||||
}
|
||||
ret = libiso_msgs_submit(libiso_msgr, origin, error_code,
|
||||
sevno, LIBISO_MSGS_PRIO_HIGH, msg_text, os_errno, 0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* ts A80222 : derived from libburn/init.c:burn_text_to_sev()
|
||||
*/
|
||||
int iso_text_to_sev(char *severity_name, int *sevno, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = libiso_msgs__text_to_sev(severity_name, sevno, 0);
|
||||
if (ret <= 0)
|
||||
*sevno = LIBISO_MSGS_SEV_FATAL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* ts A80222 : derived from libburn/init.c:burn_sev_to_text()
|
||||
*/
|
||||
int iso_sev_to_text(int severity_number, char **severity_name, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = libiso_msgs__sev_to_text(severity_number, severity_name, 0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the messenger object handle used by libisofs. This handle
|
||||
* may be used by related libraries to their own compatible
|
||||
|
Loading…
Reference in New Issue
Block a user