# phases information

## Typedefs
typedef struct axis2_phases_info | axis2_phases_info_t
## Functions
AXIS2_EXTERN void | axis2_phases_info_free (axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_phases_info_set_in_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *in_phases)
AXIS2_EXTERN axis2_status_t | axis2_phases_info_set_out_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *out_phases)
AXIS2_EXTERN axis2_status_t | axis2_phases_info_set_in_faultphases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *in_faultphases)
AXIS2_EXTERN axis2_status_t | axis2_phases_info_set_out_faultphases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *out_faultphases)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_in_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_out_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_in_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_out_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_op_in_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_op_out_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_op_in_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_get_op_out_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_phases_info_set_op_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, struct axis2_op *axis2_opt)
AXIS2_EXTERN axis2_phases_info_t * | axis2_phases_info_create (const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | axis2_phases_info_copy_flow (const axutil_env_t *env, const axutil_array_list_t *flow_to_copy)

## Detailed Description

In deployment engine when configuration builder parse phase order elements in axis2.xml, for phases defined in a phase order it will create a phase name list and add it to the phases info. There are four phase orders. inflow, outflow, in faultflow and out faultflow. So configuration builder add array lists for each of this phase orders into the phases info.

At the time of module engagement phase resolver call the functions here to retrieve phase lists for each flow for the purpose of adding handlers. When such a request come what each function do is, create phase instances list for corresponding phase names stored in the phase name list for that flow and return.

## Typedef Documentation

typedef struct axis2_phases_info axis2_phases_info_t

Type name for struct axis2_phases_info

## Function Documentation

AXIS2_EXTERN axis2_phases_info_t* axis2_phases_info_create | ( | const axutil_env_t * | env | ) |

create Phases Info struct

Parameters:

  | env | pointer to environment struct

Returns:
  pointer to newly created phases info

AXIS2_EXTERN void axis2_phases_info_free | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Deallocate memory

Parameters:

  | pahses_info | pointer to phases info
  | env | pointer to environment struct

Returns:
  void

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_in_faultphases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_in_phases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_in_faultphases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_in_phases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_out_faultphases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_out_phases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_out_faultphases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_out_phases | ( | const axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_in_faultphases | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env,
|  | axutil_array_list_t * | in_faultphases |
| ) |  |  |

Set the INfaultflow phase names as an array list. These phases are defined in the INfaultflow phase order element defined in axis2.xml.

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct
  | in_faultphases | pionter to in fault phases

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_in_phases | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env,
|  | axutil_array_list_t * | in_phases |
| ) |  |  |

Set the inflow phase names as an array list. These phases are defined in the inflow phase order element defined in axis2.xml.

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct
  | in_phases | inter to in phases

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_op_phases | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env,
|  | struct axis2_op * | axis2_opt |
| ) |  |  |

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct
  | axis2_opt | pointer to axis2 opt

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_out_faultphases | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env,
|  | axutil_array_list_t * | out_faultphases |
| ) |  |  |

Set the Outfaultflow phase names as an array list. These phases are defined in the Outfaultflow phase order element defined in axis2.xml.

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to env
  | out_faultphases | pointer to out fault phases

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_out_phases | ( | axis2_phases_info_t * | phases_info,
|  | const axutil_env_t * | env,
|  | axutil_array_list_t * | out_phases |
| ) |  |  |

Set the outflow phase names as an array list. These phases are defined in the outflow phase order element defined in axis2.xml.

Parameters:

  | phases_info | pointer to phases info
  | env | pointer to environment struct
  | out_phases | pointer to out phases

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE