# savan_subs_mgr.h File Reference

`#include <platforms/axutil_platform_auto_sense.h>`
`#include <axutil_utils_defines.h>`
`#include <axutil_env.h>`
`#include <axis2_conf.h>`
`#include <savan_subscriber.h>`

Go to the source code of this file.

## Classes
struct | savan_subs_mgr_ops
| Subscription Manager ops struct Encapsulator struct for ops of savan_subs_mgr. More...
struct | savan_subs_mgr

## Detailed Description

## Function Documentation

AXIS2_EXTERN savan_subs_mgr_t* savan_subs_mgr_create | ( | const axutil_env_t * | env,
|  | axis2_conf_t * | conf |
| ) |  |  |

Create the savan subscription manager.

Parameters:

  | env | environment object
  | conf | axis2 configuration

Returns:
  status of the operation

AXIS2_EXTERN void savan_subs_mgr_free | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | envv |
| ) |  |  |

Deallocate the subscription manager.

Parameters:

  | subs_mgr |
  | env | environment object

AXIS2_EXTERN struct savan_subs_mgr* savan_subs_mgr_get_subs_mgr | ( | const axutil_env_t * | env,
|  | struct axis2_conf_ctx * | conf_ctx,
|  | axis2_conf_t * | conf |
| ) |  |  | `[read]`

Retrieve subs mgr. If it is already created for this request scope then it should be available as a message context property. Otherwise create it and set as message context property.

Parameters:

  | env | environment object
  | conf_ctx | configuration context instance
  | conf | Axis2 main configuration instance

Returns:
  subs manager

AXIS2_EXTERN axis2_status_t savan_subs_mgr_insert_subscriber | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | savan_subscriber_t * | subscriber |
| ) |  |  |

Insert a subscriber.

Parameters:

  | subs_mgr |
  | env | environment object
  | subscriber | subscriber instant

Returns:
  status of the operation

AXIS2_EXTERN axis2_status_t savan_subs_mgr_insert_topic | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | topic_name,
|  | const axis2_char_t * | topic_url |
| ) |  |  |

Insert topic. Event source is mapped to a topic

Parameters:

  | subs_mgr |
  | env | environment object
  | topic_name | topoic name
  | topic_url | topoic url

Returns:
  status of the operation

AXIS2_EXTERN axis2_status_t savan_subs_mgr_remove_subscriber | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | subscription_id |
| ) |  |  |

Remove a subscriber.

Parameters:

  | subs_mgr |
  | env | environment object
  | subscription_id | subscriber's id

Returns:
  status of the operation

AXIS2_EXTERN axutil_array_list_t* savan_subs_mgr_retrieve_all_subscribers | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | filter |
| ) |  |  |

Retrive all subscribers for a topic(event source).

Parameters:

  | subs_mgr |
  | env | environment object
  | topic_name | topoic_name

Returns:
  all subscribers for the event source

AXIS2_EXTERN savan_subscriber_t* savan_subs_mgr_retrieve_subscriber | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | subscription_id |
| ) |  |  |

Retrieve a subscriber.

Parameters:

  | subs_mgr |
  | env | environment object
  | subscription_id | subscriber's id

Returns:
  subscriber corresponding to the passed subscription id

AXIS2_EXTERN axis2_status_t savan_subs_mgr_update_subscriber | ( | savan_subs_mgr_t * | subs_mgr,
|  | const axutil_env_t * | env,
|  | savan_subscriber_t * | subscriber |
| ) |  |  |

Update a subscriber.

Parameters:

  | subs_mgr |
  | env | environment object
  | subscriber | subscriber instant

Returns:
  status of the operation