33#ifndef __AST_REFER_H__
34#define __AST_REFER_H__
36#if defined(__cplusplus) || defined(c_plusplus)
122int __attribute__((format(printf, 2, 3)))
131int __attribute__((format(printf, 2, 3)))
140int __attribute__((format(printf, 2, 3)))
157int __attribute__((format(printf, 2, 3)))
166int __attribute__((format(printf, 2, 3)))
321#if defined(__cplusplus) || defined(c_plusplus)
void ast_refer_var_unref_current(struct ast_refer_var_iterator *iter)
Unref a refer var from inside an iterator loop.
int ast_refer_tech_unregister(const struct ast_refer_tech *tech)
Unregister a refer technology.
const char * ast_refer_get_to(const struct ast_refer *refer)
Retrieve the destination of this refer.
int ast_refer_var_iterator_next(struct ast_refer_var_iterator *iter, const char **name, const char **value)
Get the next variable name and value.
struct ast_refer_var_iterator * ast_refer_var_iterator_init(const struct ast_refer *refer)
Create a new refer variable iterator.
struct ast_refer * ast_refer_alloc(void)
Allocate a refer.
const char * ast_refer_get_from(const struct ast_refer *refer)
Retrieve the source of this refer.
const char * ast_refer_get_var(struct ast_refer *refer, const char *name)
Get the specified variable on the refer.
int ast_refer_set_var_outbound(struct ast_refer *refer, const char *name, const char *value)
Set a variable on the refer being sent to a refer tech directly.
const char * ast_refer_get_endpoint(const struct ast_refer *refer)
Retrieve the endpoint associated with this refer.
char * ast_refer_get_var_and_unlink(struct ast_refer *refer, const char *name)
Get the specified variable on the refer and unlink it from the container of variables.
int ast_refer_set_endpoint(struct ast_refer *refer, const char *fmt,...)
Set the technology's endpoint associated with this refer.
int ast_refer_set_from(struct ast_refer *refer, const char *fmt,...)
Set the 'from' URI of a refer.
struct ast_refer * ast_refer_destroy(struct ast_refer *refer)
Destroy an ast_refer.
int ast_refer_set_refer_to(struct ast_refer *refer, const char *fmt,...)
Set the 'refer_to' URI of a refer.
const char * ast_refer_get_refer_to(const struct ast_refer *refer)
Get the "refer-to" value of a refer.
int ast_refer_set_tech(struct ast_refer *refer, const char *fmt,...)
Set the technology associated with this refer.
int ast_refer_tech_register(const struct ast_refer_tech *tech)
Register a refer technology.
int ast_refer_set_to_self(struct ast_refer *refer, int val)
Set the 'to_self' value of a refer.
int ast_refer_send(struct ast_refer *refer)
Send a refer directly to an endpoint.
struct ast_refer * ast_refer_ref(struct ast_refer *refer)
Bump a refer's ref count.
int ast_refer_set_to(struct ast_refer *refer, const char *fmt,...)
Set the 'to' URI of a refer.
int ast_refer_get_to_self(const struct ast_refer *refer)
Retrieve the "to_self" value of this refer.
void ast_refer_var_iterator_destroy(struct ast_refer_var_iterator *iter)
Destroy a refer variable iterator.
const char * ast_refer_get_tech(const struct ast_refer *refer)
Retrieve the technology associated with this refer.
int(*const refer_send)(const struct ast_refer *refer)
Send a refer.
const char *const name
Name of this refer technology.
const ast_string_field tech