renatofilho@320: /** renatofilho@320: * GMyth Library renatofilho@320: * renatofilho@320: * @file gmyth/gmyth_programinfo.c renatofilho@320: * renatofilho@320: * @brief

GMythFileTransfer deals with the file streaming media remote/local renatofilho@320: * transfering to the MythTV frontend. renatofilho@320: * renatofilho@320: * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia. renatofilho@320: * @author Leonardo Sobral Cunha renatofilho@320: * renatofilho@320: *//* renatofilho@320: * renatofilho@320: * This program is free software; you can redistribute it and/or modify renatofilho@320: * it under the terms of the GNU Lesser General Public License as published by renatofilho@320: * the Free Software Foundation; either version 2 of the License, or renatofilho@320: * (at your option) any later version. renatofilho@320: * renatofilho@320: * This program is distributed in the hope that it will be useful, renatofilho@320: * but WITHOUT ANY WARRANTY; without even the implied warranty of renatofilho@320: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the renatofilho@320: * GNU General Public License for more details. renatofilho@320: * renatofilho@320: * You should have received a copy of the GNU Lesser General Public License renatofilho@320: * along with this program; if not, write to the Free Software renatofilho@320: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA renatofilho@320: * renatofilho@320: */ renatofilho@320: renatofilho@320: #ifdef HAVE_CONFIG_H renatofilho@320: #include "config.h" renatofilho@320: #endif renatofilho@320: renatofilho@320: #include renatofilho@320: #include renatofilho@320: #include renatofilho@320: renatofilho@320: #include "gmyth_programinfo.h" renatofilho@320: #include "gmyth_util.h" renatofilho@320: #include "gmyth_debug.h" renatofilho@320: renatofilho@320: static void gmyth_program_info_class_init (GMythProgramInfoClass *klass); renatofilho@320: static void gmyth_program_info_init (GMythProgramInfo *object); renatofilho@320: renatofilho@320: static void gmyth_program_info_dispose (GObject *object); renatofilho@320: static void gmyth_program_info_finalize (GObject *object); renatofilho@320: renatofilho@320: G_DEFINE_TYPE(GMythProgramInfo, gmyth_program_info, G_TYPE_OBJECT) renatofilho@320: renatofilho@320: static void renatofilho@320: gmyth_program_info_class_init (GMythProgramInfoClass *klass) renatofilho@320: { renatofilho@320: GObjectClass *gobject_class = G_OBJECT_CLASS (klass); renatofilho@320: renatofilho@320: gobject_class->dispose = gmyth_program_info_dispose; renatofilho@320: gobject_class->finalize = gmyth_program_info_finalize; renatofilho@320: } renatofilho@320: renatofilho@320: static void renatofilho@320: gmyth_program_info_init (GMythProgramInfo *gmyth_program_info) renatofilho@320: { renatofilho@320: gmyth_program_info->chancommfree = 0; renatofilho@320: renatofilho@320: /** A flag informing if the program has video or not. */ renatofilho@320: gmyth_program_info->isVideo = FALSE; renatofilho@320: gmyth_program_info->lenMins = 0; renatofilho@320: renatofilho@320: gmyth_program_info->stars = 0.0f; renatofilho@320: gmyth_program_info->repeat = 0; renatofilho@320: renatofilho@320: gmyth_program_info->hasAirDate = FALSE; renatofilho@320: renatofilho@320: gmyth_program_info->spread = 0; renatofilho@320: gmyth_program_info->startCol = 0; renatofilho@320: renatofilho@320: gmyth_program_info->recpriority2 = 0; renatofilho@320: gmyth_program_info->reactivate = 0; renatofilho@320: renatofilho@320: gmyth_program_info->recordid = 0; renatofilho@320: gmyth_program_info->parentid = 0; renatofilho@320: renatofilho@320: /** The backend video source id associated to this program.*/ renatofilho@320: gmyth_program_info->sourceid = 0; renatofilho@320: /** the backend input id associated to this program.*/ renatofilho@320: gmyth_program_info->inputid = 0; renatofilho@320: /** The backend card id associated to this program.*/ renatofilho@320: gmyth_program_info->cardid = 0; renatofilho@320: gmyth_program_info->shareable = FALSE; renatofilho@320: gmyth_program_info->duplicate = FALSE; renatofilho@320: renatofilho@320: gmyth_program_info->findid = 0; renatofilho@320: renatofilho@320: gmyth_program_info->programflags = 0; renatofilho@320: gmyth_program_info->transcoder = 0; renatofilho@320: renatofilho@320: gmyth_program_info->recpriority = 0; renatofilho@320: renatofilho@320: /** The file size of the recorded program.*/ renatofilho@320: gmyth_program_info->filesize = -1; renatofilho@320: renatofilho@320: renatofilho@320: } renatofilho@320: renatofilho@320: static void renatofilho@320: gmyth_program_info_dispose (GObject *object) renatofilho@320: { renatofilho@320: GMythProgramInfo *gmyth_program_info = GMYTH_PROGRAM_INFO(object); renatofilho@320: renatofilho@320: if ( gmyth_program_info->chanid != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->chanid, TRUE ); renatofilho@320: gmyth_program_info->chanid = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The program start time. */ renatofilho@320: if ( gmyth_program_info->startts != NULL ) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->startts); renatofilho@320: gmyth_program_info->startts = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The program end time. */ renatofilho@320: if ( gmyth_program_info->endts != NULL ) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->endts ); renatofilho@320: gmyth_program_info->endts = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The recording schedule start time. */ renatofilho@320: if ( gmyth_program_info->recstartts != NULL ) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->recstartts ); renatofilho@320: gmyth_program_info->recstartts = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The recording schedule end time */ renatofilho@320: if ( gmyth_program_info->recendts != NULL ) renatofilho@320: { renatofilho@320: g_free(gmyth_program_info->recendts); renatofilho@320: gmyth_program_info->recendts = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The program title. */ renatofilho@320: if (gmyth_program_info->title != NULL ) renatofilho@320: { renatofilho@320: g_string_free(gmyth_program_info->title, TRUE); renatofilho@320: gmyth_program_info->title = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The program subtitle. */ renatofilho@320: if (gmyth_program_info->subtitle != NULL ) renatofilho@320: { renatofilho@320: g_string_free(gmyth_program_info->subtitle, TRUE ); renatofilho@320: gmyth_program_info->subtitle = NULL; renatofilho@320: } renatofilho@320: /** The program description. */ renatofilho@320: if ( gmyth_program_info->description != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->description, TRUE ); renatofilho@320: gmyth_program_info->description = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The program category. */ renatofilho@320: if ( gmyth_program_info->category != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->category, TRUE ); renatofilho@320: gmyth_program_info->category = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->chanstr != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->chanstr, TRUE ); renatofilho@320: gmyth_program_info->chanstr = NULL; renatofilho@320: } renatofilho@320: if ( gmyth_program_info->chansign != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->chansign, TRUE ); renatofilho@320: gmyth_program_info->chansign = NULL; renatofilho@320: } renatofilho@320: /** The associated channel name. */ renatofilho@320: if ( gmyth_program_info->channame != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->channame, TRUE ); renatofilho@320: gmyth_program_info->channame = NULL; renatofilho@320: } renatofilho@320: if ( gmyth_program_info->chanOutputFilters != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->chanOutputFilters, TRUE ); renatofilho@320: gmyth_program_info->chanOutputFilters = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->seriesid != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->seriesid, TRUE ); renatofilho@320: gmyth_program_info->chanOutputFilters = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: /** The program unique id. */ renatofilho@320: if ( gmyth_program_info->programid != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->programid, TRUE ); renatofilho@320: gmyth_program_info->programid = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: if ( gmyth_program_info->catType != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->catType, TRUE ); renatofilho@320: gmyth_program_info->catType = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->sortTitle != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->sortTitle, TRUE ); renatofilho@320: gmyth_program_info->sortTitle = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->year != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->year, TRUE ); renatofilho@320: gmyth_program_info->year = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->originalAirDate != NULL ) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->originalAirDate); renatofilho@320: gmyth_program_info->originalAirDate = NULL; renatofilho@320: } renatofilho@320: if ( gmyth_program_info->lastmodified != NULL ) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->lastmodified ); renatofilho@320: gmyth_program_info->lastmodified = NULL; renatofilho@320: renatofilho@320: } renatofilho@320: if (gmyth_program_info->lastInUseTime != NULL) renatofilho@320: { renatofilho@320: g_free( gmyth_program_info->lastInUseTime ); renatofilho@320: gmyth_program_info->lastInUseTime = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->schedulerid != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->schedulerid, TRUE ); renatofilho@320: gmyth_program_info->schedulerid = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->recgroup != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->recgroup, TRUE ); renatofilho@320: gmyth_program_info->recgroup = NULL; renatofilho@320: } renatofilho@320: if ( gmyth_program_info->playgroup != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->playgroup, TRUE ); renatofilho@320: gmyth_program_info->playgroup = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: /** The file name of the recorded program.*/ renatofilho@320: if ( gmyth_program_info->pathname != NULL) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->pathname, TRUE ); renatofilho@320: gmyth_program_info->pathname = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: if ( gmyth_program_info->hostname != NULL ) renatofilho@320: { renatofilho@320: g_string_free( gmyth_program_info->hostname, TRUE ); renatofilho@320: gmyth_program_info->hostname = NULL; renatofilho@320: } renatofilho@320: renatofilho@320: G_OBJECT_CLASS (gmyth_program_info_parent_class)->dispose (object); renatofilho@320: } renatofilho@320: renatofilho@320: static void renatofilho@320: gmyth_program_info_finalize (GObject *object) renatofilho@320: { renatofilho@320: g_signal_handlers_destroy (object); renatofilho@320: renatofilho@320: G_OBJECT_CLASS (gmyth_program_info_parent_class)->finalize (object); renatofilho@320: } renatofilho@320: renatofilho@320: /** renatofilho@320: * Creates a new instance of GMythProgramInfo. renatofilho@320: * renatofilho@320: * @return a new instance of GMythProgramInfo. renatofilho@320: */ renatofilho@320: GMythProgramInfo* renatofilho@320: gmyth_program_info_new (void) renatofilho@320: { renatofilho@320: GMythProgramInfo *program_info = GMYTH_PROGRAM_INFO (g_object_new(GMYTH_PROGRAM_INFO_TYPE, NULL)); renatofilho@320: renatofilho@320: return program_info; renatofilho@320: } renatofilho@320: renatofilho@320: GMythStringList* renatofilho@320: gmyth_program_info_to_string_list (GMythProgramInfo *prog, GMythStringList *slist) renatofilho@320: { renatofilho@320: g_return_val_if_fail (prog != NULL, NULL); renatofilho@320: g_return_val_if_fail (slist != NULL, NULL); renatofilho@320: renatofilho@320: gmyth_string_list_append_string (slist, prog->title); /* 0 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->subtitle); /* 1 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->description); /* 2 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->category); /* 3 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->chanid); /* 4 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->chanstr); /* 5 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->chansign); /* 6 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->channame); /* 7 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->pathname); /* 8 */ renatofilho@320: renatofilho@320: // fixme renatofilho@320: gmyth_string_list_append_int64 (slist, 100/*prog->filesize*/); /* 9 */ renatofilho@320: gmyth_string_list_append_int64 (slist, 10); /* 11 */ renatofilho@320: renatofilho@320: if (prog->startts) renatofilho@320: gmyth_string_list_append_int (slist, prog->startts->tv_sec); /* 11 */ //DATETIME_TO_LIST(startts) renatofilho@320: else renatofilho@320: gmyth_string_list_append_int (slist, 0); renatofilho@320: renatofilho@320: if (prog->endts) renatofilho@320: gmyth_string_list_append_int (slist, prog->endts->tv_sec); /* 12 */ //DATETIME_TO_LIST(endts) renatofilho@320: else renatofilho@320: gmyth_string_list_append_int (slist, 0); renatofilho@320: renatofilho@320: gmyth_string_list_append_int (slist, prog->duplicate); /* 13 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->shareable); /* 14 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->findid); /* 15 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->hostname); /* 16 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->sourceid); /* 17 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->cardid); /* 18 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->inputid); /* 19 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->recpriority); /* 20 */ renatofilho@320: gmyth_string_list_append_int (slist, 0 /*prog->recstatus*/); /* 21 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->recordid); /* 22 */ renatofilho@320: gmyth_string_list_append_int (slist, 0 /*prog->rectype*/); /* 23 */ renatofilho@320: gmyth_string_list_append_int (slist, 0 /*prog->dupin*/); /* 24 */ renatofilho@320: gmyth_string_list_append_int (slist, 0 /*prog->dupmethod*/); /* 25 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->recstartts != NULL ? prog->recstartts->tv_sec : 0); /* 26 */ //DATETIME_TO_LIST(recstartts) renatofilho@320: gmyth_string_list_append_int (slist, prog->recendts != NULL ? prog->recendts->tv_sec : 0); /* 27 */ //DATETIME_TO_LIST(recendts) renatofilho@320: gmyth_string_list_append_int (slist, prog->repeat); /* 28 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->programflags); /* 29 */ renatofilho@320: gmyth_string_list_append_char_array (slist, "Default"); /* 30 */ //prog->(recgroup != "") ? recgroup : "Default") renatofilho@320: gmyth_string_list_append_int (slist, prog->chancommfree); /* 31 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->chanOutputFilters); /* 32 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->seriesid); /* 33 */ renatofilho@320: gmyth_string_list_append_string (slist, prog->programid); /* 34 */ renatofilho@320: gmyth_string_list_append_string (slist, ""); /* 35 */ renatofilho@320: gmyth_string_list_append_int (slist, prog->lastmodified != NULL ? prog->lastmodified->tv_sec : 0); /* 36 */ //DATETIME_TO_LIST(lastmodified) renatofilho@320: gmyth_string_list_append_int (slist, 0); /* 37 */ //FLOAT_TO_LIST(stars) renatofilho@320: gmyth_string_list_append_int (slist, prog->originalAirDate != NULL ? prog->originalAirDate->tv_sec : 0); /* 38 */ //DATETIME_TO_LIST(QDateTime(originalAirDate)) renatofilho@320: gmyth_string_list_append_int (slist, prog->hasAirDate); /* 39 */ renatofilho@320: gmyth_string_list_append_char_array (slist, "Default"); /* 40 */ //prog->(playgroup != "") ? playgroup : "Default") renatofilho@320: gmyth_string_list_append_int (slist, prog->recpriority2); /* 41 */ renatofilho@320: renatofilho@320: return slist; renatofilho@320: } renatofilho@320: renatofilho@320: GMythProgramInfo* renatofilho@320: gmyth_program_info_from_string_list ( GMythStringList *slist ) renatofilho@320: { renatofilho@320: GMythProgramInfo *prog = gmyth_program_info_new(); renatofilho@320: renatofilho@320: g_return_val_if_fail (slist != NULL, NULL); renatofilho@320: /* renatofilho@320: Unknown renatofilho@320: renatofilho@320: renatofilho@320: renatofilho@320: 1000 renatofilho@320: 9 renatofilho@320: 1000 renatofilho@320: Band renatofilho@320: /mnt/store//1000_20070125110059.nuv renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: 1169733659 renatofilho@320: 1169735400 renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: hmelo-desktop renatofilho@320: 0 renatofilho@320: 1 renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: -2 renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: 15 renatofilho@320: 6 renatofilho@320: 1169733659 renatofilho@320: 1169735400 renatofilho@320: 0 renatofilho@320: 0 renatofilho@320: LiveTV renatofilho@320: 0 renatofilho@320: renatofilho@320: renatofilho@320: renatofilho@320: 1169733659 renatofilho@320: 0.000000 renatofilho@320: -1 renatofilho@320: 0 renatofilho@320: Default renatofilho@320: 0 renatofilho@320: */ renatofilho@320: prog->title = gmyth_string_list_get_string (slist, 0); renatofilho@320: prog->subtitle = gmyth_string_list_get_string (slist, 1); renatofilho@320: prog->description = gmyth_string_list_get_string (slist, 2); renatofilho@320: prog->category = gmyth_string_list_get_string (slist, 3); renatofilho@320: prog->chanid = gmyth_string_list_get_string (slist, 4); renatofilho@320: prog->chanstr = gmyth_string_list_get_string (slist, 5); renatofilho@320: prog->chansign = gmyth_string_list_get_string (slist, 6); renatofilho@320: prog->channame = gmyth_string_list_get_string (slist, 7); renatofilho@320: prog->pathname = gmyth_string_list_get_string (slist, 8); renatofilho@320: prog->filesize = gmyth_string_list_get_int64 (slist, 9); renatofilho@320: gmyth_string_list_get_int64 (slist, 10); renatofilho@320: renatofilho@320: prog->startts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 11) ))->str ); //DATETIME_TO_LIST(startts) renatofilho@320: prog->endts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 12) ))->str ); //DATETIME_TO_LIST(endts) renatofilho@320: prog->duplicate = gmyth_string_list_get_int (slist, 13); renatofilho@320: prog->shareable = gmyth_string_list_get_int (slist, 14); renatofilho@320: prog->findid = gmyth_string_list_get_int (slist, 15); renatofilho@320: prog->hostname = gmyth_string_list_get_string (slist, 16); renatofilho@320: prog->sourceid = gmyth_string_list_get_int (slist, 17); renatofilho@320: prog->cardid = gmyth_string_list_get_int (slist, 18); renatofilho@320: prog->inputid = gmyth_string_list_get_int (slist, 19); renatofilho@320: prog->recpriority = gmyth_string_list_get_int (slist, 20); renatofilho@320: prog->reactivate = gmyth_string_list_get_int (slist, 21); renatofilho@320: prog->recordid = gmyth_string_list_get_int (slist, 22); renatofilho@320: gmyth_string_list_get_int (slist, 23); renatofilho@320: gmyth_string_list_get_int (slist, 24); renatofilho@320: gmyth_string_list_get_int (slist, 25); renatofilho@320: prog->recstartts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 26) ))->str ); //DATETIME_TO_LIST(recstartts) renatofilho@320: prog->recendts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 27) ))->str ); //DATETIME_TO_LIST(recendts) renatofilho@320: prog->repeat = gmyth_string_list_get_int (slist, 28); renatofilho@320: prog->programflags = gmyth_string_list_get_int (slist, 29); renatofilho@320: prog->recgroup = gmyth_string_list_get_string (slist, 30); //prog->(recgroup != "") ? recgroup : "Default") renatofilho@320: prog->chancommfree = gmyth_string_list_get_int (slist, 31); renatofilho@320: prog->chanOutputFilters = gmyth_string_list_get_string (slist, 32); renatofilho@320: prog->seriesid = gmyth_string_list_get_string (slist, 33); renatofilho@320: prog->programid = gmyth_string_list_get_string (slist, 34); renatofilho@320: gmyth_string_list_get_string (slist, 35); renatofilho@320: prog->lastmodified = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 36) ))->str ); //DATETIME_TO_LIST(lastmodified) renatofilho@320: gmyth_string_list_get_int (slist, 37); //FLOAT_TO_LIST(stars) renatofilho@320: prog->originalAirDate = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( renatofilho@320: (time_t)gmyth_string_list_get_int (slist, 38) ))->str ); //DATETIME_TO_LIST(QDateTime(originalAirDate)) renatofilho@320: prog->hasAirDate = gmyth_string_list_get_int (slist, 39); renatofilho@320: prog->playgroup = gmyth_string_list_get_string (slist, 40); //prog->(playgroup != "") ? playgroup : "Default") renatofilho@320: prog->recpriority2 = gmyth_string_list_get_int (slist, 41); renatofilho@320: renatofilho@320: return prog; renatofilho@320: }