# module description
[description]

## Files
file | axis2_module_desc.h
## Typedefs
typedef struct axis2_module_desc | axis2_module_desc_t
## Functions
AXIS2_EXTERN void | axis2_module_desc_free (axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_flow_t * | axis2_module_desc_get_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *in_flow)
AXIS2_EXTERN axis2_flow_t * | axis2_module_desc_get_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *out_flow)
AXIS2_EXTERN axis2_flow_t * | axis2_module_desc_get_fault_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_fault_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *falut_in_flow)
AXIS2_EXTERN axis2_flow_t * | axis2_module_desc_get_fault_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_fault_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *fault_out_flow)
AXIS2_EXTERN const axutil_qname_t * | axis2_module_desc_get_qname (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_qname (axis2_module_desc_t *module_desc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_add_op (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN axutil_hash_t * | axis2_module_desc_get_all_ops (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN struct axis2_conf * | axis2_module_desc_get_parent (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_parent (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_conf *parent)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_add_param (axis2_module_desc_t *module_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN axutil_param_t * | axis2_module_desc_get_param (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN axutil_array_list_t * | axis2_module_desc_get_all_params (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t | axis2_module_desc_is_param_locked (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN struct axis2_module * | axis2_module_desc_get_module (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_module_desc_set_module (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_module *module)
AXIS2_EXTERN axutil_param_container_t * | axis2_module_desc_get_param_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_flow_container_t * | axis2_module_desc_get_flow_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_module_desc_t * | axis2_module_desc_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_module_desc_t * | axis2_module_desc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void | axis2_module_desc_free_void_arg (void *module_desc, const axutil_env_t *env)

## Detailed Description

module holds information about a module. This information includes module parameters and handler information. Modules are available to all services if axis2.xml has a module reference entry. Alternatively, a module could be made available to selected services by including a module reference entry in services.xml.

## Typedef Documentation

typedef struct axis2_module_desc axis2_module_desc_t

Type name for struct axis2_module_desc

## Function Documentation

AXIS2_EXTERN axis2_status_t axis2_module_desc_add_op | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | struct axis2_op * | op |
| ) |  |  |

Adds given operation to module.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | op | pointer to operation, module assumes ownership of operation

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_add_param | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | axutil_param_t * | param |
| ) |  |  |

Adds parameter to module description.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | param | pointer to parameter struct

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_module_desc_t* axis2_module_desc_create | ( | const axutil_env_t * | env | ) |

Creates module description struct instance.

Parameters:

  | env | pointer to environment struct

Returns:
  pointer to newly created module description

AXIS2_EXTERN axis2_module_desc_t* axis2_module_desc_create_with_qname | ( | const axutil_env_t * | env,
|  | const axutil_qname_t * | qname |
| ) |  |  |

Creates module description struct instance with given QName.

Parameters:

  | env | pointer to environment struct
  | qname | pointer to QName

Returns:
  pointer to newly created module description

AXIS2_EXTERN void axis2_module_desc_free | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Frees module description.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  void

AXIS2_EXTERN void axis2_module_desc_free_void_arg | ( | void * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Frees module description passed as void pointer. This method will cast the void pointer parameter into appropriate type and then call module description free method on top of that pointer.

Parameters:

  | module_desc | pointer to module description as a void pointer
  | env | pointer to environment struct

Returns:
  void

AXIS2_EXTERN axutil_hash_t* axis2_module_desc_get_all_ops | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets all operations associated with module.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to hash map containing the operations

AXIS2_EXTERN axutil_array_list_t* axis2_module_desc_get_all_params | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets all parameters associated with module.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to array list containing all parameters

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_fault_in_flow | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets flow representing fault in flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to flow that represents fault in flow, returns a reference not a cloned copy

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_fault_out_flow | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets flow representing fault out flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to flow that represents fault out flow, returns a reference not a cloned copy

AXIS2_EXTERN axis2_flow_container_t* axis2_module_desc_get_flow_container | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets the container having all flows.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to param container

See also:
  flow container

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_in_flow | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets flow representing in flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to flow that represents in flow, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_module* axis2_module_desc_get_module | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  | `[read]`

Gets module associated with module description.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to module

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_out_flow | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets flow representing out flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to flow that represents out flow, returns a reference not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_module_desc_get_param | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | name |
| ) |  |  |

Gets parameter with given name.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | name | parameter name string

Returns:
  pointer to parameter corresponding to given name

AXIS2_EXTERN axutil_param_container_t* axis2_module_desc_get_param_container | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets the container having all params.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to param container

See also:
  Parameter Container

AXIS2_EXTERN struct axis2_conf* axis2_module_desc_get_parent | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  | `[read]`

Gets parent which is of type configuration.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to configuration, returns a reference not a cloned copy

AXIS2_EXTERN const axutil_qname_t* axis2_module_desc_get_qname | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets module QName.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct

Returns:
  pointer to QName

AXIS2_EXTERN axis2_bool_t axis2_module_desc_is_param_locked | ( | const axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | param_name |
| ) |  |  |

Checks if a given parameter is locked.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | param_name | parameter name string

Returns:
  AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_fault_in_flow | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | axis2_flow_t * | falut_in_flow |
| ) |  |  |

Sets flow representing fault in flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | falut_in_flow | pointer to flow representing fault in flow, module assumes ownership of flow

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_fault_out_flow | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | axis2_flow_t * | fault_out_flow |
| ) |  |  |

Sets flow representing fault out flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | fault_out_flow | pointer to flow representing fault out flow, module assumes ownership of flow

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_in_flow | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | axis2_flow_t * | in_flow |
| ) |  |  |

Sets flow representing in flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | in_flow | pointer to flow representing in flow, module assumes ownership of flow

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_module | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | struct axis2_module * | module |
| ) |  |  |

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | module | pointer to module, module description assumes ownership of module

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_out_flow | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | axis2_flow_t * | out_flow |
| ) |  |  |

Sets flow representing out flow.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | out_flow | pointer to flow representing out flow, module assumes ownership of flow

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_parent | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | struct axis2_conf * | parent |
| ) |  |  |

Sets parent which is of type configuration.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | parent | pointer to parent configuration, module does not assume the ownership of configuration

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_qname | ( | axis2_module_desc_t * | module_desc,
|  | const axutil_env_t * | env,
|  | const axutil_qname_t * | qname |
| ) |  |  |

Sets module QName.

Parameters:

  | module_desc | pointer to module description
  | env | pointer to environment struct
  | qname | pointer to qname

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE