# context
[Context Hierarchy]

## Files
file | axis2_ctx.h
## Typedefs
typedef struct axis2_ctx | axis2_ctx_t
## Functions
AXIS2_EXTERN axis2_ctx_t * | axis2_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_ctx_set_property (struct axis2_ctx *ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN axutil_property_t * | axis2_ctx_get_property (const axis2_ctx_t *ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN axutil_hash_t * | axis2_ctx_get_property_map (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN axutil_hash_t * | axis2_ctx_get_all_properties (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN void | axis2_ctx_free (axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_ctx_set_property_map (struct axis2_ctx *ctx, const axutil_env_t *env, axutil_hash_t *map)

## Detailed Description

context is the base struct of all the context related structs. This struct encapsulates the common operations and data for all context types. All the context types, configuration, service group, service and operation has the base of type context.

## Typedef Documentation

typedef struct axis2_ctx axis2_ctx_t

Type name for struct axis2_ctx

## Function Documentation

AXIS2_EXTERN axis2_ctx_t* axis2_ctx_create | ( | const axutil_env_t * | env | ) |

Creates a context struct.

Parameters:

  | env | pointer to environment struct

Returns:
  pointer to newly created context

AXIS2_EXTERN void axis2_ctx_free | ( | axis2_ctx_t * | ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Frees context struct.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct

Returns:
  void

AXIS2_EXTERN axutil_hash_t* axis2_ctx_get_all_properties | ( | const axis2_ctx_t * | ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets all properties stored within context.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct

Returns:
  pointer to hash table containing all properties

AXIS2_EXTERN axutil_property_t* axis2_ctx_get_property | ( | const axis2_ctx_t * | ctx,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | key |
| ) |  |  |

Gets the property with the given key.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct
  | key | key string

Returns:
  pointer to property struct corresponding to the given key

AXIS2_EXTERN axutil_hash_t* axis2_ctx_get_property_map | ( | const axis2_ctx_t * | ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Gets the non-persistent map of properties.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct

Returns:
  pointer to the hash map which stores the non-persistent properties

AXIS2_EXTERN axis2_status_t axis2_ctx_set_property | ( | struct axis2_ctx * | ctx,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | key,
|  | axutil_property_t * | value |
| ) |  |  |

Sets a property with the given key.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct
  | key | key string to store the property with
  | value | pointer to property to be stored, context assumes the ownership of the property

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_ctx_set_property_map | ( | struct axis2_ctx * | ctx,
|  | const axutil_env_t * | env,
|  | axutil_hash_t * | map |
| ) |  |  |

Sets non-persistent map of properties.

Parameters:

  | ctx | pointer to context struct
  | env | pointer to environment struct
  | map | pointer to hash map, context assumes ownership of the map

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE