* adds a rewrite of the tapi drivers + sip app. this is the result of lars' gsoc...
[openwrt/openwrt.git] / package / tapi_sip / src / agent.h
1 #ifndef __AGENT_H__
2 #define __AGENT_H__
3
4 #include "agent.h"
5
6 struct session;
7 struct agent;
8
9 struct agent_ops {
10 int (*invite)(struct agent *, struct session *);
11 int (*accept)(struct agent *, struct session *);
12 int (*hangup)(struct agent *, struct session *);
13
14 int (*get_endpoint)(struct agent *, struct session *);
15 };
16
17 struct agent {
18 const struct agent_ops *ops;
19 };
20
21 static inline int agent_invite(struct agent *agent, struct session *session)
22 {
23 return agent->ops->invite(agent, session);
24 }
25
26 static inline int agent_accept(struct agent *agent, struct session *session)
27 {
28 return agent->ops->accept(agent, session);
29 }
30
31 static inline int agent_hangup(struct agent *agent, struct session *session)
32 {
33 return agent->ops->hangup(agent, session);
34 }
35
36 static inline int agent_get_endpoint(struct agent *agent, struct session *session)
37 {
38 return agent->ops->get_endpoint(agent, session);
39 }
40
41 #endif