utils
[utilities]


Files

file  axutil_utils.h

Defines

#define AXUTIL_LOG_FILE_SIZE   1024 * 1024 * 32
#define AXUTIL_LOG_FILE_NAME_SIZE   512
#define AXIS2_FUNC_PARAM_CHECK(object, env, error_return)
#define AXIS2_PARAM_CHECK(error, object, error_return)
#define AXIS2_PARAM_CHECK_VOID(error, object)
#define AXIS2_ERROR_SET(error, error_number, status_code)
#define AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number,status_code, file_name_line_no)
#define AXIS2_HANDLE_ERROR(env, error_number, status_code)
#define AXIS2_CREATE_FUNCTION   "axis2_get_instance"
#define AXIS2_DELETE_FUNCTION   "axis2_remove_instance"
#define AXIS2_TARGET_EPR   "target_epr"
#define AXIS2_DUMP_INPUT_MSG_TRUE   "dump"

Typedefs

typedef void(* AXIS2_FREE_VOID_ARG )(void *obj_to_be_freed, const axutil_env_t *env)
typedef int(* AXIS2_READ_INPUT_CALLBACK )(char *buffer, int size, void *ctx)
typedef int(* AXIS2_CLOSE_INPUT_CALLBACK )(void *ctx)

Enumerations

enum  axis2_scopes { AXIS2_SCOPE_REQUEST = 0, AXIS2_SCOPE_SESSION, AXIS2_SCOPE_APPLICATION }
 Axis2 scopes. More...

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_parse_rest_url_for_params (const axutil_env_t *env, const axis2_char_t *tmpl, const axis2_char_t *url, int *match_count, axis2_char_t ****matches)
AXIS2_EXTERN
axis2_char_t ** 
axutil_parse_request_url_for_svc_and_op (const axutil_env_t *env, const axis2_char_t *request)
AXIS2_EXTERN
axis2_char_t * 
axutil_xml_quote_string (const axutil_env_t *env, const axis2_char_t *s, axis2_bool_t quotes)
AXIS2_EXTERN int axutil_hexit (axis2_char_t c)
AXIS2_EXTERN
axis2_status_t 
axutil_url_decode (const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *src)
AXIS2_EXTERN
axis2_status_t 
axis2_char_2_byte (const axutil_env_t *env, axis2_char_t *char_buffer, axis2_byte_t **byte_buffer, int *byte_buffer_size)

Define Documentation

#define AXIS2_CREATE_FUNCTION   "axis2_get_instance"

Method names in the loadable libraries

#define AXIS2_ERROR_SET ( error,
error_number,
status_code   ) 

Value:

{                                                       \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number);  \
        AXIS2_ERROR_SET_STATUS_CODE(error, status_code);    \
    }
This macro is used to handle error situation.
Parameters:
error_number Error number for the error occured
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_FUNC_PARAM_CHECK ( object,
env,
error_return   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE);         \
        return error_return;                                            \
    }                                                                   \
    else                                                                \
    {                                                                   \
        AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_SUCCESS);              \
    }
This macro is called to check whether structure on which function is called is NULL and to check whether the environment structure passed is valid.
Parameters:
object structure on which function is called
env environment to be checked for validity
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_HANDLE_ERROR ( env,
error_number,
status_code   ) 

Value:

AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number, status_code, \
            AXIS2_LOG_SI)                                                \
This macro is used to set and error, and log it
Parameters:
env Reference to env struct
error_number Error number for the error occured
status_code The Error Status to be set

#define AXIS2_HANDLE_ERROR_WITH_FILE ( env,
error_number,
status_code,
file_name_line_no   ) 

Value:

{                                                            \
        AXIS2_ERROR_SET(env->error, error_number, status_code);  \
        AXIS2_LOG_ERROR(env->log, file_name_line_no,             \
            AXIS2_ERROR_GET_MESSAGE(env->error));                \
    }
This macro is used to set and error, and log it. In addition to that you are capable of specifying the file name and line number
Parameters:
env Reference to env struct
error_number Error number for the error occured
status_code The Error Status to be set
file_name_line_no File name and line number constant

#define AXIS2_PARAM_CHECK ( error,
object,
error_return   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
        return error_return;                                            \
    }                                                                   \
    else                                                                \
    {                                                                   \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_SUCCESS);              \
    }
This macro is called to check whether an object is NULL. if object is NULL error number and status code is set
Parameters:
object object to be check for NULL
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_PARAM_CHECK_VOID ( error,
object   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
        return;                                                         \
    }


Enumeration Type Documentation

enum axis2_scopes

Axis2 scopes.

Possible scope value for Axis2

Enumerator:
AXIS2_SCOPE_REQUEST  Request scope
AXIS2_SCOPE_SESSION  Session scope
AXIS2_SCOPE_APPLICATION  Application scope


Function Documentation

AXIS2_EXTERN axis2_char_t** axutil_parse_request_url_for_svc_and_op ( const axutil_env_t env,
const axis2_char_t *  request 
)

This function allows users to resolve the service and op from the url. It returns an array of 2 elements of axis2_char_t arrays (strings). The caller is responsible to free the memory allocated by the function for the return value.

Parameters:
env pointer to environment struct
request url
Returns:
axis2_char_t ** axis2_char_t **

AXIS2_EXTERN axis2_status_t axutil_parse_rest_url_for_params ( const axutil_env_t env,
const axis2_char_t *  tmpl,
const axis2_char_t *  url,
int *  match_count,
axis2_char_t ****  matches 
)

This function allows the user match a REST URL template with the Request URL. It returns a 3-dimensional array with pairs of elements of axis2_char_t arrays (strings). The caller is responsible to free the memory allocated by the function for the return value.

Parameters:
env pointer to environment struct
tmpl Template to Match
url Request URL
match_count variable to store match count
matches axis2_char_t *** axis2_char_t ***
Returns:
AXIS2_SUCCESS if all matches were found or AXIS2_FAILURE.

AXIS2_EXTERN axis2_char_t* axutil_xml_quote_string ( const axutil_env_t env,
const axis2_char_t *  s,
axis2_bool_t  quotes 
)

Quotes an XML string. Replace '<', '>', and '&' with '<', '>', and '&'. If quotes is true, then replace '"' with '"'.

Parameters:
env pointer to environment struct
s string to be quoted
quotes if AXIS2_TRUE then replace '"' with '"'. quotes is typically set to true for XML strings that will occur within double quotes -- attribute values.
Returns:
Encoded string if there are characters to be encoded, else NULL. The caller is responsible to free the memory allocated by the function for the return value


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3