backup
[lcr.git] / call.h
1 /*****************************************************************************\
2 **                                                                           **
3 ** PBX4Linux                                                                 **
4 **                                                                           **
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg                                              **
7 **                                                                           **
8 ** call header file                                                          **
9 **                                                                           **
10 \*****************************************************************************/ 
11
12 enum { CALL_TYPE_NONE, CALL_TYPE_PBX, CALL_TYPE_ASTERISK};
13
14 /* call
15  *
16  * abstraction for pbx calls and asterisk calls
17  */
18
19
20 class Call
21 {
22         public:
23         Call(class Endpoint *epoint);
24         virtual ~Call();
25         class Call *next;               /* next node in list of calls */
26         virtual void message_epoint(unsigned long epoint_id, int message, union parameter *param);
27         virtual int handler(void);
28         virtual void release(unsigned long epoint_id, int hold, int location, int cause);
29
30         unsigned long c_type;           /* call type (pbx or asterisk) */
31         unsigned long c_serial;         /* serial/unique number of call */
32 }; 
33
34 void call_free(void);
35
36 extern class Call *call_first;
37
38 class Call *find_call_id(unsigned long call_id);
39