40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
/*****************************************************************************\
|
|
** **
|
|
** PBX4Linux **
|
|
** **
|
|
**---------------------------------------------------------------------------**
|
|
** Copyright: Andreas Eversberg **
|
|
** **
|
|
** call header file **
|
|
** **
|
|
\*****************************************************************************/
|
|
|
|
enum { CALL_TYPE_NONE, CALL_TYPE_PBX, CALL_TYPE_CHAN};
|
|
|
|
/* call
|
|
*
|
|
* abstraction for pbx calls and asterisk calls
|
|
*/
|
|
|
|
|
|
class Call
|
|
{
|
|
public:
|
|
Call(class Endpoint *epoint);
|
|
virtual ~Call();
|
|
class Call *next; /* next node in list of calls */
|
|
virtual void message_epoint(unsigned long epoint_id, int message, union parameter *param);
|
|
virtual int handler(void);
|
|
virtual void release(unsigned long epoint_id, int hold, int location, int cause);
|
|
|
|
unsigned long c_type; /* call type (pbx or asterisk) */
|
|
unsigned long c_serial; /* serial/unique number of call */
|
|
};
|
|
|
|
void call_free(void);
|
|
|
|
extern class Call *call_first;
|
|
|
|
class Call *find_call_id(unsigned long call_id);
|
|
|