1 /*
2  *  tvheadend, HTSP interface
3  *  Copyright (C) 2007 Andreas Öman
4  *
5  *  This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef HTSP_H_
20 #define HTSP_H_
21 
22 #include "epg.h"
23 #include "dvr/dvr.h"
24 
25 typedef enum {
26   HTSP_DVR_PLAYCOUNT_RESET = 0,
27   HTSP_DVR_PLAYCOUNT_SET   = 1,
28   HTSP_DVR_PLAYCOUNT_KEEP  = INT32_MAX-1,
29   HTSP_DVR_PLAYCOUNT_INCR  = INT32_MAX
30 } dvr_playcount_t;
31 
32 void htsp_init(const char *bindaddr);
33 void htsp_register(void);
34 void htsp_done(void);
35 
36 void htsp_channel_update_nownext(channel_t *ch);
37 
38 void htsp_channel_add(channel_t *ch);
39 void htsp_channel_update(channel_t *ch);
40 void htsp_channel_delete(channel_t *ch);
41 
42 void htsp_tag_add(channel_tag_t *ct);
43 void htsp_tag_update(channel_tag_t *ct);
44 void htsp_tag_delete(channel_tag_t *ct);
45 
46 void htsp_dvr_entry_add(dvr_entry_t *de);
47 void htsp_dvr_entry_update(dvr_entry_t *de);
48 void htsp_dvr_entry_update_stats(dvr_entry_t *de);
49 void htsp_dvr_entry_delete(dvr_entry_t *de);
50 
51 void htsp_autorec_entry_add(dvr_autorec_entry_t *dae);
52 void htsp_autorec_entry_update(dvr_autorec_entry_t *dae);
53 void htsp_autorec_entry_delete(dvr_autorec_entry_t *dae);
54 
55 void htsp_timerec_entry_add(dvr_timerec_entry_t *dte);
56 void htsp_timerec_entry_update(dvr_timerec_entry_t *dte);
57 void htsp_timerec_entry_delete(dvr_timerec_entry_t *dte);
58 
59 void htsp_event_add(epg_broadcast_t *ebc);
60 void htsp_event_update(epg_broadcast_t *ebc);
61 void htsp_event_delete(epg_broadcast_t *ebc);
62 
63 #endif /* HTSP_H_ */
64