phases
[engine]


Files

file  axis2_phase.h

Classes

struct  axis2_phase_ops
struct  axis2_phase

Defines

#define AXIS2_PHASE_BOTH_BEFORE_AFTER   0
#define AXIS2_PHASE_BEFORE   1
#define AXIS2_PHASE_AFTER   2
#define AXIS2_PHASE_ANYWHERE   3
#define AXIS2_PHASE_ADD_HANDLER_AT(phase, env, index, handler)   ((phase)->ops->add_handler_at(phase, env, index, handler))
#define AXIS2_PHASE_ADD_HANDLER(phase, env, handler)   ((phase)->ops->add_handler(phase, env, handler))
#define AXIS2_PHASE_ADD_HANDLER_DESC(phase, env, handler_desc)   ((phase)->ops->add_handler_desc(phase, env, handler_desc))
#define AXIS2_PHASE_INVOKE(phase, env, msg_ctx)   ((phase)->ops->invoke(phase, env, msg_ctx))
#define AXIS2_PHASE_GET_NAME(phase, env)   ((phase)->ops->get_name(phase, env))
#define AXIS2_PHASE_GET_HANDLER_COUNT(phase, env)   ((phase)->ops->get_handler_count(phase, env))
#define AXIS2_PHASE_SET_FIRST_HANDLER(phase, env, handler)   ((phase)->ops->set_first_handler(phase, env, handler))
#define AXIS2_PHASE_SET_LAST_HANDLER(phase, env, handler)   ((phase)->ops->set_last_handler(phase, env, handler))
#define AXIS2_PHASE_INSERT_BEFORE(phase, env, handler)   ((phase)->ops->insert_before(phase, env, handler))
#define AXIS2_PHASE_INSERT_AFTER(phase, env, handler)   ((phase)->ops->insert_after(phase, env, handler))
#define AXIS2_PHASE_INSERT_BEFORE_AND_AFTER(phase, env, handler)   ((phase)->ops->insert_before_and_after(phase, env, handler))
#define AXIS2_PHASE_INSERT_HANDLER_DESC(phase, env, handler_desc)   ((phase)->ops->insert_handler_desc(phase, env, handler_desc))
#define AXIS2_PHASE_GET_ALL_HANDLERS(phase, env)   ((phase)->ops->get_all_handlers(phase, env))
#define AXIS2_PHASE_INVOKE_START_FROM_HANDLER(phase, env, paused_handler_index, msg_ctx)
#define AXIS2_PHASE_FREE(phase, env)   ((phase)->ops->free(phase, env))

Typedefs

typedef axis2_phase_ops axis2_phase_ops_t
typedef axis2_phase axis2_phase_t

Functions

AXIS2_EXTERN axis2_phase_taxis2_phase_create (const axis2_env_t *env, const axis2_char_t *phase_name)

Detailed Description

phase is a logical unit of execution in the Axis2 engine's execution flows. A phase encapsulates one or more handlers in a given sequence to be invoked. The sequencing of handlers within a phase are often defined by module configuration which specifies where in the phase's handler chain a given handler should be placed. Calling invoke on phase triggers invoke on the handlers stored within the phase in the sequence they are ordered.

Define Documentation

#define AXIS2_PHASE_ADD_HANDLER ( phase,
env,
handler   )     ((phase)->ops->add_handler(phase, env, handler))

Adds the given handler to the end of the handler list.

See also:
axis2_phase_ops::add_handler

#define AXIS2_PHASE_ADD_HANDLER_AT ( phase,
env,
index,
handler   )     ((phase)->ops->add_handler_at(phase, env, index, handler))

Add handler at a given location to the phase's list of handlers.

See also:
axis2_phase_ops::add_handler_at

#define AXIS2_PHASE_ADD_HANDLER_DESC ( phase,
env,
handler_desc   )     ((phase)->ops->add_handler_desc(phase, env, handler_desc))

Adds the handler within given handler description to the handler list.

See also:
axis2_phase_ops::add_handler_desc

#define AXIS2_PHASE_AFTER   2

A given handler's location within the list of handlers is after another given handler.

#define AXIS2_PHASE_ANYWHERE   3

A given handler's location within the list of handlers could be anywhere in the list.

#define AXIS2_PHASE_BEFORE   1

A given handler's location within the list of handlers is before another given handler.

#define AXIS2_PHASE_BOTH_BEFORE_AFTER   0

A given handler's location within the list of handlers is before a particular handler and after another particular handler.

#define AXIS2_PHASE_FREE ( phase,
env   )     ((phase)->ops->free(phase, env))

Frees phase struct.

See also:
axis2_phase_ops::free

#define AXIS2_PHASE_GET_ALL_HANDLERS ( phase,
env   )     ((phase)->ops->get_all_handlers(phase, env))

Gets all handlers as an array list.

See also:
axis2_phase_ops::get_all_handlers

#define AXIS2_PHASE_GET_HANDLER_COUNT ( phase,
env   )     ((phase)->ops->get_handler_count(phase, env))

Gets handler count.

See also:
axis2_phase_ops::get_handler_count

#define AXIS2_PHASE_GET_NAME ( phase,
env   )     ((phase)->ops->get_name(phase, env))

Gets phase name.

See also:
axis2_phase_ops::set_name

#define AXIS2_PHASE_INSERT_AFTER ( phase,
env,
handler   )     ((phase)->ops->insert_after(phase, env, handler))

Inserts given handler based on the after phase rules of the handler.

See also:
axis2_phase_ops::insert_after

#define AXIS2_PHASE_INSERT_BEFORE ( phase,
env,
handler   )     ((phase)->ops->insert_before(phase, env, handler))

Inserts given handler based on the before phase rules of the handler.

See also:
axis2_phase_ops::insert_before

#define AXIS2_PHASE_INSERT_BEFORE_AND_AFTER ( phase,
env,
handler   )     ((phase)->ops->insert_before_and_after(phase, env, handler))

Inserts given handler based on the both before and after phase rules of the handler.

See also:
axis2_phase_ops::insert_before_and_after

#define AXIS2_PHASE_INSERT_HANDLER_DESC ( phase,
env,
handler_desc   )     ((phase)->ops->insert_handler_desc(phase, env, handler_desc))

Inserts the handler within given handler description to the handler list.

See also:
axis2_phase_ops::insert_handler_desc

#define AXIS2_PHASE_INVOKE ( phase,
env,
msg_ctx   )     ((phase)->ops->invoke(phase, env, msg_ctx))

Invokes phase, this method will call invoke of all the handlers in the list in sequence.

See also:
axis2_phase_ops::invoke

#define AXIS2_PHASE_INVOKE_START_FROM_HANDLER ( phase,
env,
paused_handler_index,
msg_ctx   ) 

Value:

((phase)->ops->invoke_start_from_handler(phase, env, paused_handler_index, \
        msg_ctx))
Invoke phase starting from given handler.
See also:
axis2_phase_ops::invoke_start_from_handler

#define AXIS2_PHASE_SET_FIRST_HANDLER ( phase,
env,
handler   )     ((phase)->ops->set_first_handler(phase, env, handler))

Sets the first handler.

See also:
axis2_phase_ops::set_first_handler

#define AXIS2_PHASE_SET_LAST_HANDLER ( phase,
env,
handler   )     ((phase)->ops->set_last_handler(phase, env, handler))

Sets the last handler of the handler list.

See also:
axis2_phase_ops::set_last_handler


Typedef Documentation

typedef struct axis2_phase_ops axis2_phase_ops_t

Type name for axis2_phase_ops

typedef struct axis2_phase axis2_phase_t

Type name for axis2_phase


Function Documentation

AXIS2_EXTERN axis2_phase_t* axis2_phase_create ( const axis2_env_t env,
const axis2_char_t *  phase_name 
)

creates phase struct instance.

Parameters:
env pointer to environment struct
phase_name name of the phase to be created
Returns:
pointer to newly created phase


Generated on Thu Oct 26 21:00:22 2006 for Axis2/C by  doxygen 1.4.7