Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
comet events - an attempt to clean them
  • Loading branch information
perexg committed Sep 8, 2014
1 parent 9858ed0 commit cf528db
Show file tree
Hide file tree
Showing 29 changed files with 147 additions and 122 deletions.
1 change: 1 addition & 0 deletions src/access.c
Expand Up @@ -912,6 +912,7 @@ access_entry_dvr_config_get(void *o)
const idclass_t access_entry_class = {
.ic_class = "access",
.ic_caption = "Access",
.ic_event = "access",
.ic_save = access_entry_class_save,
.ic_get_title = access_entry_class_get_title,
.ic_delete = access_entry_class_delete,
Expand Down
2 changes: 2 additions & 0 deletions src/channels.c
Expand Up @@ -275,6 +275,7 @@ channel_class_epggrab_list ( void *o )
const idclass_t channel_class = {
.ic_class = "channel",
.ic_caption = "Channel",
.ic_event = "channel",
.ic_save = channel_class_save,
.ic_get_title = channel_class_get_title,
.ic_delete = channel_class_delete,
Expand Down Expand Up @@ -846,6 +847,7 @@ channel_tag_class_get_list(void *o)
const idclass_t channel_tag_class = {
.ic_class = "channeltag",
.ic_caption = "Channel Tag",
.ic_event = "channeltag",
.ic_save = channel_tag_class_save,
.ic_get_title = channel_tag_class_get_title,
.ic_delete = channel_tag_class_delete,
Expand Down
2 changes: 0 additions & 2 deletions src/dvr/dvr.h
Expand Up @@ -312,8 +312,6 @@ void dvr_config_save(dvr_config_t *cfg);

int dvr_entry_get_mc( dvr_entry_t *de);

void dvr_entry_notify(dvr_entry_t *de);

void dvr_entry_save(dvr_entry_t *de);

const char *dvr_entry_status(dvr_entry_t *de);
Expand Down
15 changes: 2 additions & 13 deletions src/dvr/dvr_autorec.c
Expand Up @@ -31,7 +31,6 @@
#include "tvheadend.h"
#include "settings.h"
#include "dvr.h"
#include "notify.h"
#include "dtable.h"
#include "epg.h"

Expand Down Expand Up @@ -683,6 +682,7 @@ dvr_autorec_entry_class_content_type_list(void *o)
const idclass_t dvr_autorec_entry_class = {
.ic_class = "dvrautorec",
.ic_caption = "DVR Auto-Record Entry",
.ic_event = "dvrautorec",
.ic_save = dvr_autorec_entry_class_save,
.ic_get_title = dvr_autorec_entry_class_get_title,
.ic_delete = dvr_autorec_entry_class_delete,
Expand Down Expand Up @@ -921,15 +921,9 @@ void
autorec_destroy_by_channel(channel_t *ch, int delconf)
{
dvr_autorec_entry_t *dae;
htsmsg_t *m;

while((dae = LIST_FIRST(&ch->ch_autorecs)) != NULL)
autorec_entry_destroy(dae, delconf);

/* Notify web clients that we have messed with the tables */
m = htsmsg_create_map();
htsmsg_add_u32(m, "reload", 1);
notify_by_msg("autorec", m);
}

/*
Expand All @@ -939,17 +933,12 @@ void
autorec_destroy_by_channel_tag(channel_tag_t *ct, int delconf)
{
dvr_autorec_entry_t *dae;
htsmsg_t *m;

while((dae = LIST_FIRST(&ct->ct_autorecs)) != NULL) {
LIST_REMOVE(dae, dae_channel_tag_link);
dae->dae_channel_tag = NULL;
idnode_notify_simple(&dae->dae_id);
if (delconf)
dvr_autorec_save(dae);
}

/* Notify web clients that we have messed with the tables */
m = htsmsg_create_map();
htsmsg_add_u32(m, "reload", 1);
notify_by_msg("autorec", m);
}
33 changes: 9 additions & 24 deletions src/dvr/dvr_db.c
Expand Up @@ -26,7 +26,6 @@

#include "tvheadend.h"
#include "dvr.h"
#include "notify.h"
#include "htsp_server.h"
#include "streaming.h"
#include "intlconv.h"
Expand Down Expand Up @@ -209,22 +208,6 @@ dvr_entry_schedstatus(dvr_entry_t *de)
}
}

/**
*
*/
void
dvr_entry_notify(dvr_entry_t *de)
{
htsmsg_t *m = htsmsg_create_map();

htsmsg_add_u32(m, "updateEntry", 1);
htsmsg_add_str(m, "uuid", idnode_uuid_as_str(&de->de_id));
htsmsg_add_str(m, "status", dvr_entry_status(de));
htsmsg_add_str(m, "schedstate", dvr_entry_schedstatus(de));
notify_by_msg("dvrdb", m);
}


/**
*
*/
Expand Down Expand Up @@ -809,9 +792,8 @@ static dvr_entry_t *_dvr_entry_update

/* Save changes */
if (save) {
dvr_entry_save(de);
idnode_changed(&de->de_id);
htsp_dvr_entry_update(de);
dvr_entry_notify(de);
tvhlog(LOG_INFO, "dvr", "\"%s\" on \"%s\": Updated Timer",
lang_str_get(de->de_title, NULL), DVR_CH_NAME(de));
}
Expand Down Expand Up @@ -920,7 +902,7 @@ void dvr_event_updated ( epg_broadcast_t *e )
*
*/
static void
dvr_stop_recording(dvr_entry_t *de, int stopcode, int delconf)
dvr_stop_recording(dvr_entry_t *de, int stopcode, int saveconf)
{
dvr_config_t *cfg = de->de_config;

Expand All @@ -936,10 +918,12 @@ dvr_stop_recording(dvr_entry_t *de, int stopcode, int delconf)
lang_str_get(de->de_title, NULL), DVR_CH_NAME(de),
dvr_entry_status(de));

if (delconf)
if (saveconf)
idnode_changed(&de->de_id);
else
idnode_notify_simple(&de->de_id);
dvr_entry_save(de);
htsp_dvr_entry_update(de);
dvr_entry_notify(de);

gtimer_arm_abs(&de->de_timer, dvr_timer_expire, de,
de->de_stop + cfg->dvr_retention_days * 86400);
Expand Down Expand Up @@ -971,7 +955,7 @@ dvr_timer_start_recording(void *aux)
tvhlog(LOG_INFO, "dvr", "\"%s\" on \"%s\" recorder starting",
lang_str_get(de->de_title, NULL), DVR_CH_NAME(de));

dvr_entry_notify(de);
idnode_changed(&de->de_id);
htsp_dvr_entry_update(de);
dvr_rec_subscribe(de);

Expand Down Expand Up @@ -1570,6 +1554,7 @@ dvr_entry_class_content_type_list(void *o)
const idclass_t dvr_entry_class = {
.ic_class = "dvrentry",
.ic_caption = "DVR Entry",
.ic_event = "dvrentry",
.ic_save = dvr_entry_class_save,
.ic_get_title = dvr_entry_class_get_title,
.ic_delete = dvr_entry_class_delete,
Expand Down Expand Up @@ -2079,7 +2064,6 @@ dvr_config_class_charset_list(void *o)
htsmsg_t *m = htsmsg_create_map();
htsmsg_add_str(m, "type", "api");
htsmsg_add_str(m, "uri", "intlconv/charsets");
htsmsg_add_str(m, "event", "charsets");
return m;
}

Expand All @@ -2099,6 +2083,7 @@ dvr_config_class_cache_list(void *o)
const idclass_t dvr_config_class = {
.ic_class = "dvrconfig",
.ic_caption = "DVR Configuration Profile",
.ic_event = "dvrconfig",
.ic_save = dvr_config_class_save,
.ic_get_title = dvr_config_class_get_title,
.ic_delete = dvr_config_class_delete,
Expand Down
4 changes: 2 additions & 2 deletions src/dvr/dvr_inotify.c
Expand Up @@ -211,7 +211,7 @@ _dvr_inotify_moved
dvr_inotify_del(de);

htsp_dvr_entry_update(de);
dvr_entry_notify(de);
idnode_notify_simple(&de->de_id);
}

/*
Expand Down Expand Up @@ -239,7 +239,7 @@ _dvr_inotify_moved_all

while ((de = LIST_FIRST(&die->entries))) {
htsp_dvr_entry_update(de);
dvr_entry_notify(de);
idnode_notify_simple(&de->de_id);
dvr_inotify_del(de);
}
}
Expand Down
5 changes: 2 additions & 3 deletions src/dvr/dvr_rec.c
Expand Up @@ -300,7 +300,7 @@ dvr_rec_set_state(dvr_entry_t *de, dvr_rs_state_t newstate, int error)
de->de_errors++;
}
if (notify)
dvr_entry_notify(de);
idnode_notify_simple(&de->de_id);
}

/**
Expand Down Expand Up @@ -521,9 +521,8 @@ dvr_thread(void *aux)
dvr_rec_set_state(de, DVR_RS_WAIT_PROGRAM_START, 0);
if(dvr_rec_start(de, sm->sm_data) == 0) {
started = 1;
dvr_entry_notify(de);
idnode_changed(&de->de_id);
htsp_dvr_entry_update(de);
dvr_entry_save(de);
}
pthread_mutex_unlock(&global_lock);
}
Expand Down
1 change: 1 addition & 0 deletions src/esfilter.c
Expand Up @@ -587,6 +587,7 @@ esfilter_class_action_enum(void *o)
const idclass_t esfilter_class = {
.ic_class = "esfilter",
.ic_caption = "Elementary Stream Filter",
.ic_event = "esfilter",
.ic_save = esfilter_class_save,
.ic_get_title = esfilter_class_get_title,
.ic_delete = esfilter_class_delete,
Expand Down
19 changes: 19 additions & 0 deletions src/htsmsg.c
Expand Up @@ -261,6 +261,25 @@ htsmsg_add_str(htsmsg_t *msg, const char *name, const char *str)
f->hmf_str = strdup(str);
}

/*
*
*/
int
htsmsg_set_str(htsmsg_t *msg, const char *name, const char *str)
{
htsmsg_field_t *f = htsmsg_field_find(msg, name);
if (!f)
f = htsmsg_field_add(msg, name, HMF_STR, HMF_ALLOCED | HMF_NAME_ALLOCED);
else {
if (f->hmf_type != HMF_STR)
return 1;
if(f->hmf_flags & HMF_ALLOCED)
free((void *)f->hmf_str);
}
f->hmf_str = strdup(str);
return 0;
}

/*
*
*/
Expand Down
5 changes: 5 additions & 0 deletions src/htsmsg.h
Expand Up @@ -135,6 +135,11 @@ void htsmsg_add_s64(htsmsg_t *msg, const char *name, int64_t s64);
*/
void htsmsg_add_str(htsmsg_t *msg, const char *name, const char *str);

/**
* Add/update a string field
*/
int htsmsg_set_str(htsmsg_t *msg, const char *name, const char *str);

/**
* Add an field where source is a list or map message.
*/
Expand Down

0 comments on commit cf528db

Please sign in to comment.