# Savan_client

## Files
file | savan_client.h
## Typedefs
typedef struct savan_client_t | savan_client_t
## Functions
AXIS2_EXTERN axis2_status_t | savan_client_subscribe (savan_client_t *client, const axutil_env_t *env, axis2_svc_client_t *svc_client, axutil_hash_t *options)
AXIS2_EXTERN axis2_char_t * | savan_client_renew (savan_client_t *client, const axutil_env_t *env, axis2_svc_client_t *svc_client, axutil_hash_t *options)
AXIS2_EXTERN axis2_status_t | savan_client_unsubscribe (savan_client_t *client, const axutil_env_t *env, axis2_svc_client_t *svc_client)
AXIS2_EXTERN axis2_char_t * | savan_client_get_status (savan_client_t *client, const axutil_env_t *env, axis2_svc_client_t *svc_client)
AXIS2_EXTERN axis2_char_t * | savan_client_get_sub_id (savan_client_t *client)
AXIS2_EXTERN axis2_char_t * | savan_client_get_sub_url (savan_client_t *client)
AXIS2_EXTERN savan_client_t * | savan_client_create (const axutil_env_t *env)

## Function Documentation

AXIS2_EXTERN savan_client_t* savan_client_create | ( | const axutil_env_t * | env | ) |

Create a savan client

Parameters:

  | env | pointer to environment struct

Returns:
  Pointer to client on success, NULL on failure

AXIS2_EXTERN axis2_char_t* savan_client_get_status | ( | savan_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_svc_client_t * | svc_client |
| ) |  |  |

Send GetStatus request using the given service client

Parameters:

  | client | the client object
  | env | pointer to environment struct
  | svc_client | client for the publisher service

Returns:
  expiry string on success, NULL on failure

AXIS2_EXTERN axis2_char_t* savan_client_get_sub_id | ( | savan_client_t * | client | ) |

Get the subscription id assigned by the event source

Parameters:

  | client | the client object
  | env | pointer to environment struct

Returns:
  id string on success, NULL on failure

AXIS2_EXTERN axis2_char_t* savan_client_get_sub_url | ( | savan_client_t * | client | ) |

Get the subscription url assigned by the event source

Parameters:

  | client | the client object
  | env | pointer to environment struct

Returns:
  id string on success, NULL on failure

AXIS2_EXTERN axis2_char_t* savan_client_renew | ( | savan_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_svc_client_t * | svc_client,
|  | axutil_hash_t * | options |
| ) |  |  |

Send Renew request using the given service client

Parameters:

  | client | the client object
  | env | pointer to environment struct
  | svc_client | client for the publisher service
  | options | map containing options for the Renew request

Returns:
  new expiry date.

AXIS2_EXTERN axis2_status_t savan_client_subscribe | ( | savan_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_svc_client_t * | svc_client,
|  | axutil_hash_t * | options |
| ) |  |  |

Send Subscribe request using the given service client

Parameters:

  | client | the client object
  | env | pointer to environment struct
  | svc_client | client for the publisher service
  | options | map containing options for the Subscribe request

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t savan_client_unsubscribe | ( | savan_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_svc_client_t * | svc_client |
| ) |  |  |

Send Unsubscribe request using the given service client

Parameters:

  | client | the client object
  | env | pointer to environment struct
  | svc_client | client for the publisher service

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE