Provided by: libglobus-common-doc_18.13-2_all bug

NAME

       globus_error_generic.h - Globus Error API.

SYNOPSIS

       #include 'globus_object.h'
       #include 'globus_module.h'
       #include <stdarg.h>

   Macros
       #define GLOBUS_ERROR_TYPE_GLOBUS

   Typedefs
       typedef char *(* globus_error_print_friendly_t) (globus_object_t *error, const
           globus_object_type_t *type)

   Functions
       globus_module_descriptor_t * globus_error_get_source (globus_object_t *error)
       void globus_error_set_source (globus_object_t *error, globus_module_descriptor_t
           *source_module)
       globus_object_t * globus_error_get_cause (globus_object_t *error)
       void globus_error_set_cause (globus_object_t *error, globus_object_t *causal_error)
       int globus_error_get_type (globus_object_t *error)
       void globus_error_set_type (globus_object_t *error, const int type)
       char * globus_error_get_short_desc (globus_object_t *error)
       void globus_error_set_short_desc (globus_object_t *error, const char
           *short_desc_format,...)
       char * globus_error_get_long_desc (globus_object_t *error)
       void globus_error_set_long_desc (globus_object_t *error, const char *long_desc_format,...)
       globus_bool_t globus_error_match (globus_object_t *error, globus_module_descriptor_t
           *module, int type)
       char * globus_error_print_chain (globus_object_t *error)
       char * globus_error_print_friendly (globus_object_t *error)
       globus_object_t * globus_error_construct_multiple (globus_module_descriptor_t
           *base_source, int type, const char *fmt,...)
       void globus_error_mutliple_add_chain (globus_object_t *multiple_error, globus_object_t
           *chain, const char *fmt,...)
       globus_object_t * globus_error_multiple_remove_chain (globus_object_t *multiple_error)

Detailed Description

       Globus Error API.

Typedef Documentation

   typedef char*(* globus_error_print_friendly_t) (globus_object_t *error, const
       globus_object_type_t *type)
       If registered with a module's descriptor, this handler will be called on behalf of
       globus_error_print_friendly()

       Parameters
           error The error chain that originated from this module. The top error object in the
           chain will be one created by this module and have a type of 'type'; The remaining
           objects are the same as the cause chain used at creation time. The user can use
           globus_error_get_type(error) to get the error code (for GLOBUS_ERROR_TYPE_GLOBUS
           objects)
           type The error object type for the top object in the error chain (e.g.
           GLOBUS_ERROR_TYPE_GLOBUS, GLOBUS_ERROR_TYPE_ERRNO)

       Returns
           The function should return a newly allocated string with a friendly error message
           explaining the error in more detail. This string should be considered the only message
           a user will see. If the module has nothing nice to say, it should return NULL so the
           next module in the error chain can be tried.

       If you think a friendly error from causes beneath you should be included, you may use
       globus_error_print_friendly(globus_error_get_cause(error)) within this handler to append
       to your message.

Function Documentation

   globus_object_t* globus_error_construct_multiple (globus_module_descriptor_t * base_source,
       int type, const char * fmt,  ...)
       Multiple error type stuff Construct a container object for multiple error chains. Useful
       when an application tries many things (and each fails) before finally giving up;

       Use globus_error_mutliple_add_chain() to add error objects/chains to this object.

       Parameters
           base_source Pointer to the originating module.
           type The error type. We may reserve part of this namespace for common errors. Errors
           not in this space are assumed to be local to the originating module.
           globus_error_match() will match against this type, but not of the contained chains.
           fmt a printf style format string describing the multiple errors

       Returns
           The resulting error object. It is the user's responsibility to eventually free this
           object using globus_object_free(). A globus_result_t may be obtained by calling
           globus_error_put() on this object.

   globus_object_t* globus_error_multiple_remove_chain (globus_object_t * multiple_error)
       Remove an error chain from a multiple error object.

       Parameters
           multiple_error The error from which to remove a chain. Must have been created with
           globus_error_construct_multiple()

       Returns
           The removed error chain, or NULL if none found.

   void globus_error_mutliple_add_chain (globus_object_t * multiple_error, globus_object_t *
       chain, const char * fmt,  ...)
       Add an error chain to a multiple error object.

       Parameters
           multiple_error The error to add the chain to. Must have been created with
           globus_error_construct_multiple()
           chain The chain to add to this error. This error object assumes control over 'chain''s
           memory after this call.
           fmt a printf style format string describing this chain

       Returns
           void

Author

       Generated automatically by Doxygen for globus_common from the source code.