diff options
Diffstat (limited to 'package/tapi_sip/src/agent.h')
| -rw-r--r-- | package/tapi_sip/src/agent.h | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/package/tapi_sip/src/agent.h b/package/tapi_sip/src/agent.h new file mode 100644 index 000000000..795994178 --- /dev/null +++ b/package/tapi_sip/src/agent.h @@ -0,0 +1,41 @@ +#ifndef __AGENT_H__ +#define __AGENT_H__ + +#include "agent.h" + +struct session; +struct agent; + +struct agent_ops { +	int (*invite)(struct agent *, struct session *); +	int (*accept)(struct agent *, struct session *); +	int (*hangup)(struct agent *, struct session *); + +	int (*get_endpoint)(struct agent *, struct session *); +}; + +struct agent { +	const struct agent_ops *ops; +}; + +static inline int agent_invite(struct agent *agent, struct session *session) +{ +	return agent->ops->invite(agent, session); +} + +static inline int agent_accept(struct agent *agent, struct session *session) +{ +	return agent->ops->accept(agent, session); +} + +static inline int agent_hangup(struct agent *agent, struct session *session) +{ +	return agent->ops->hangup(agent, session); +} + +static inline int agent_get_endpoint(struct agent *agent, struct session *session) +{ +	return agent->ops->get_endpoint(agent, session); +} + +#endif | 
