42 lines
894 B
C
42 lines
894 B
C
#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
|