void dvr_extra_time_post_set(dvr_config_t *cfg, int d);
+int dvr_entry_delete(dvr_entry_t *de);
+
/**
* Query interface
*/
{
return val2str(v, priotab) ?: "invalid";
}
+
+int
+dvr_entry_delete(dvr_entry_t *de)
+{
+ int result;
+ tvhlog(LOG_DEBUG, "dvr_db", "Going to delete recording '%s'", de->de_filename);
+ result = unlink(de->de_filename);
+ if( result == 0 || result == ENOENT )
+ {
+ dvr_entry_remove(de);
+ }
+ return result;
+
+}
+
out = htsmsg_create_map();
htsmsg_add_u32(out, "success", 1);
+
+ } else if(!strcmp(op, "deleteEntry")) {
+ s = http_arg_get(&hc->hc_req_args, "entryId");
+
+ if((de = dvr_entry_find_by_id(atoi(s))) == NULL) {
+ pthread_mutex_unlock(&global_lock);
+ return HTTP_STATUS_BAD_REQUEST;
+ }
+
+ dvr_entry_delete(de);
+
+ out = htsmsg_create_map();
+ htsmsg_add_u32(out, "success", 1);
} else if(!strcmp(op, "createEntry")) {
text: "Abort recording"
});
break;
+ case 'completedError':
+ case 'completed':
+ win.addButton({
+ handler: deleteEvent,
+ text: "Delete recording"
+
+ });
+ break;
}
}
});
}
+
+ function deleteEvent() {
+ Ext.Ajax.request({
+ url: 'dvr',
+ params: {entryId: entry.id, op: 'deleteEntry'},
+
+ success:function(response, options) {
+ win.close();v
+ },
+
+ failure:function(response, options) {
+ Ext.MessageBox.alert('DVR', response.statusText);
+ }
+ });
+ }
}