# module
[description]

## Classes
struct | axis2_module_ops
struct | axis2_module
## Files
file | axis2_module.h
## Defines
#define | axis2_module_init(module, env, conf_ctx, module_desc) ((module)->ops->init (module, env, conf_ctx, module_desc))
#define | axis2_module_shutdown(module, env) ((module)->ops->shutdown (module, env))
#define | axis2_module_fill_handler_create_func_map(module, env) ((module)->ops->fill_handler_create_func_map (module, env))
## Typedefs
typedef struct axis2_module_ops | axis2_module_ops_t
typedef struct axis2_module | axis2_module_t
## Functions
AXIS2_EXTERN axis2_module_t * | axis2_module_create (const axutil_env_t *env)

## Detailed Description

Every module provides an implementation of struct interface. Modules are in one of two states: "available" or "initialized". All modules that the run-time detects (from the repository modules directory) are said to be in the "available" state. If some service indicates a dependency on this module then the module is initialized (once for the life time of the system) and the state changes to "initialized". Any module which is in the "initialized" state can be engaged as needed by the engine to respond to a message. Module engagement is done by deployment engine using module.xml.

## Define Documentation

#define axis2_module_fill_handler_create_func_map | ( | module,
|  | env |  | ) | ((module)->ops->fill_handler_create_func_map (module, env))

Fills handler create function map.

See also:
  axis2_module_ops::fill_handler_create_func_map

#define axis2_module_init | ( | module,
|  | env,
|  | conf_ctx,
|  | module_desc |  | ) | ((module)->ops->init (module, env, conf_ctx, module_desc))

Initializes module.

See also:
  axis2_module_ops::init

#define axis2_module_shutdown | ( | module,
|  | env |  | ) | ((module)->ops->shutdown (module, env))

Shutdowns module.

See also:
  axis2_module_ops::shutdown

## Typedef Documentation

typedef struct axis2_module_ops axis2_module_ops_t

Type name for axis2_module_ops

typedef struct axis2_module axis2_module_t

Type name for axis2_module_ops

## Function Documentation

AXIS2_EXTERN axis2_module_t* axis2_module_create | ( | const axutil_env_t * | env | ) |

Creates module struct.

Parameters:

  | env | pointer to environment struct

Returns:
  pointer to newly created module