branches/gmyth-0.1b/src/gmyth_programinfo.c
author rosfran
Fri Feb 02 22:04:00 2007 +0000 (2007-02-02)
branchtrunk
changeset 322 eb6b0b1409b5
permissions -rw-r--r--
[svn r324] Added function to request how many recorders are available.
renatofilho@320
     1
/**
renatofilho@320
     2
 * GMyth Library
renatofilho@320
     3
 *
renatofilho@320
     4
 * @file gmyth/gmyth_programinfo.c
renatofilho@320
     5
 * 
renatofilho@320
     6
 * @brief <p> GMythFileTransfer deals with the file streaming media remote/local
renatofilho@320
     7
 * transfering to the MythTV frontend.
renatofilho@320
     8
 *
renatofilho@320
     9
 * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia.
renatofilho@320
    10
 * @author Leonardo Sobral Cunha <leonardo.cunha@indt.org.br>
renatofilho@320
    11
 *
renatofilho@320
    12
 *//*
renatofilho@320
    13
 * 
renatofilho@320
    14
 * This program is free software; you can redistribute it and/or modify
renatofilho@320
    15
 * it under the terms of the GNU Lesser General Public License as published by
renatofilho@320
    16
 * the Free Software Foundation; either version 2 of the License, or
renatofilho@320
    17
 * (at your option) any later version.
renatofilho@320
    18
 *
renatofilho@320
    19
 * This program is distributed in the hope that it will be useful,
renatofilho@320
    20
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
renatofilho@320
    21
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
renatofilho@320
    22
 * GNU General Public License for more details.
renatofilho@320
    23
 *
renatofilho@320
    24
 * You should have received a copy of the GNU Lesser General Public License
renatofilho@320
    25
 * along with this program; if not, write to the Free Software
renatofilho@320
    26
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
renatofilho@320
    27
 *
renatofilho@320
    28
 */
renatofilho@320
    29
 
renatofilho@320
    30
#ifdef HAVE_CONFIG_H
renatofilho@320
    31
#include "config.h"
renatofilho@320
    32
#endif
renatofilho@320
    33
renatofilho@320
    34
#include <stdlib.h>
renatofilho@320
    35
#include <string.h>
renatofilho@320
    36
#include <assert.h>
renatofilho@320
    37
renatofilho@320
    38
#include "gmyth_programinfo.h"
renatofilho@320
    39
#include "gmyth_util.h"
renatofilho@320
    40
#include "gmyth_debug.h"
renatofilho@320
    41
renatofilho@320
    42
static void gmyth_program_info_class_init          (GMythProgramInfoClass *klass);
renatofilho@320
    43
static void gmyth_program_info_init                (GMythProgramInfo *object);
renatofilho@320
    44
renatofilho@320
    45
static void gmyth_program_info_dispose  (GObject *object);
renatofilho@320
    46
static void gmyth_program_info_finalize (GObject *object);
renatofilho@320
    47
renatofilho@320
    48
G_DEFINE_TYPE(GMythProgramInfo, gmyth_program_info, G_TYPE_OBJECT)
renatofilho@320
    49
    
renatofilho@320
    50
static void
renatofilho@320
    51
gmyth_program_info_class_init (GMythProgramInfoClass *klass)
renatofilho@320
    52
{
renatofilho@320
    53
	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
renatofilho@320
    54
	
renatofilho@320
    55
  gobject_class->dispose  = gmyth_program_info_dispose;
renatofilho@320
    56
  gobject_class->finalize = gmyth_program_info_finalize;	
renatofilho@320
    57
}
renatofilho@320
    58
renatofilho@320
    59
static void
renatofilho@320
    60
gmyth_program_info_init (GMythProgramInfo *gmyth_program_info)
renatofilho@320
    61
{ 
renatofilho@320
    62
  gmyth_program_info->chancommfree = 0;
renatofilho@320
    63
renatofilho@320
    64
	/** A flag informing if the program has video or not. */    
renatofilho@320
    65
  gmyth_program_info->isVideo = FALSE;
renatofilho@320
    66
  gmyth_program_info->lenMins = 0;
renatofilho@320
    67
  
renatofilho@320
    68
  gmyth_program_info->stars = 0.0f;
renatofilho@320
    69
  gmyth_program_info->repeat = 0;
renatofilho@320
    70
  
renatofilho@320
    71
  gmyth_program_info->hasAirDate = FALSE;
renatofilho@320
    72
renatofilho@320
    73
  gmyth_program_info->spread = 0;
renatofilho@320
    74
  gmyth_program_info->startCol = 0;
renatofilho@320
    75
renatofilho@320
    76
  gmyth_program_info->recpriority2 = 0;
renatofilho@320
    77
  gmyth_program_info->reactivate = 0;
renatofilho@320
    78
renatofilho@320
    79
  gmyth_program_info->recordid = 0;
renatofilho@320
    80
  gmyth_program_info->parentid = 0;   
renatofilho@320
    81
  
renatofilho@320
    82
  /** The backend video source id associated to this program.*/
renatofilho@320
    83
  gmyth_program_info->sourceid = 0;
renatofilho@320
    84
  /** the backend input id associated to this program.*/
renatofilho@320
    85
  gmyth_program_info->inputid = 0;
renatofilho@320
    86
  /** The backend card id associated to this program.*/
renatofilho@320
    87
  gmyth_program_info->cardid = 0;
renatofilho@320
    88
  gmyth_program_info->shareable = FALSE;
renatofilho@320
    89
  gmyth_program_info->duplicate = FALSE;
renatofilho@320
    90
renatofilho@320
    91
  gmyth_program_info->findid = 0;
renatofilho@320
    92
renatofilho@320
    93
  gmyth_program_info->programflags = 0;
renatofilho@320
    94
  gmyth_program_info->transcoder = 0;
renatofilho@320
    95
renatofilho@320
    96
  gmyth_program_info->recpriority = 0;
renatofilho@320
    97
renatofilho@320
    98
	/** The file size of the recorded program.*/
renatofilho@320
    99
  gmyth_program_info->filesize = -1;
renatofilho@320
   100
renatofilho@320
   101
renatofilho@320
   102
}
renatofilho@320
   103
renatofilho@320
   104
static void
renatofilho@320
   105
gmyth_program_info_dispose  (GObject *object)
renatofilho@320
   106
{
renatofilho@320
   107
  GMythProgramInfo *gmyth_program_info = GMYTH_PROGRAM_INFO(object);
renatofilho@320
   108
renatofilho@320
   109
	if ( gmyth_program_info->chanid != NULL )
renatofilho@320
   110
	{
renatofilho@320
   111
		g_string_free( gmyth_program_info->chanid, TRUE );
renatofilho@320
   112
		gmyth_program_info->chanid = NULL;
renatofilho@320
   113
	}
renatofilho@320
   114
  
renatofilho@320
   115
  /** The program start time. */
renatofilho@320
   116
	if ( gmyth_program_info->startts != NULL )
renatofilho@320
   117
	{
renatofilho@320
   118
		g_free( gmyth_program_info->startts);
renatofilho@320
   119
		gmyth_program_info->startts = NULL;
renatofilho@320
   120
	}
renatofilho@320
   121
renatofilho@320
   122
  /** The program end time. */
renatofilho@320
   123
  if ( gmyth_program_info->endts != NULL )
renatofilho@320
   124
  {
renatofilho@320
   125
  	g_free( gmyth_program_info->endts );
renatofilho@320
   126
  	gmyth_program_info->endts = NULL;
renatofilho@320
   127
  }
renatofilho@320
   128
  
renatofilho@320
   129
  /** The recording schedule start time. */
renatofilho@320
   130
  if ( gmyth_program_info->recstartts != NULL )
renatofilho@320
   131
  {
renatofilho@320
   132
  	g_free( gmyth_program_info->recstartts );
renatofilho@320
   133
  	gmyth_program_info->recstartts = NULL;
renatofilho@320
   134
  }
renatofilho@320
   135
  
renatofilho@320
   136
  /** The recording schedule end time */
renatofilho@320
   137
  if ( gmyth_program_info->recendts != NULL )
renatofilho@320
   138
  {
renatofilho@320
   139
  	g_free(gmyth_program_info->recendts);
renatofilho@320
   140
  	gmyth_program_info->recendts = NULL;
renatofilho@320
   141
  }
renatofilho@320
   142
  
renatofilho@320
   143
  /** The program title. */
renatofilho@320
   144
  if (gmyth_program_info->title != NULL )
renatofilho@320
   145
  {
renatofilho@320
   146
  	g_string_free(gmyth_program_info->title, TRUE);
renatofilho@320
   147
  	gmyth_program_info->title = NULL;
renatofilho@320
   148
  }
renatofilho@320
   149
  
renatofilho@320
   150
  /** The program subtitle. */
renatofilho@320
   151
  if (gmyth_program_info->subtitle != NULL )
renatofilho@320
   152
  {
renatofilho@320
   153
  	g_string_free(gmyth_program_info->subtitle, TRUE );
renatofilho@320
   154
  	gmyth_program_info->subtitle = NULL;
renatofilho@320
   155
  }
renatofilho@320
   156
  /** The program description. */
renatofilho@320
   157
  if ( gmyth_program_info->description != NULL )
renatofilho@320
   158
  {
renatofilho@320
   159
  	g_string_free( gmyth_program_info->description, TRUE );
renatofilho@320
   160
  	gmyth_program_info->description = NULL;
renatofilho@320
   161
  }
renatofilho@320
   162
  	
renatofilho@320
   163
  /** The program category. */
renatofilho@320
   164
  if ( gmyth_program_info->category != NULL )
renatofilho@320
   165
  {
renatofilho@320
   166
  	g_string_free( gmyth_program_info->category, TRUE );
renatofilho@320
   167
  	gmyth_program_info->category = NULL;
renatofilho@320
   168
  }
renatofilho@320
   169
  
renatofilho@320
   170
  if ( gmyth_program_info->chanstr != NULL )
renatofilho@320
   171
  {
renatofilho@320
   172
  	g_string_free( gmyth_program_info->chanstr, TRUE );
renatofilho@320
   173
  	gmyth_program_info->chanstr = NULL;
renatofilho@320
   174
  }
renatofilho@320
   175
  if ( gmyth_program_info->chansign != NULL )
renatofilho@320
   176
  {
renatofilho@320
   177
  	g_string_free( gmyth_program_info->chansign, TRUE );
renatofilho@320
   178
  	gmyth_program_info->chansign = NULL;
renatofilho@320
   179
  }
renatofilho@320
   180
  /** The associated channel name. */
renatofilho@320
   181
  if ( gmyth_program_info->channame != NULL )
renatofilho@320
   182
  {
renatofilho@320
   183
  	g_string_free( gmyth_program_info->channame, TRUE );
renatofilho@320
   184
  	gmyth_program_info->channame = NULL;
renatofilho@320
   185
  }
renatofilho@320
   186
  if ( gmyth_program_info->chanOutputFilters != NULL )
renatofilho@320
   187
  {
renatofilho@320
   188
  	g_string_free( gmyth_program_info->chanOutputFilters, TRUE );
renatofilho@320
   189
  	gmyth_program_info->chanOutputFilters = NULL;
renatofilho@320
   190
  }
renatofilho@320
   191
  
renatofilho@320
   192
  if ( gmyth_program_info->seriesid != NULL )
renatofilho@320
   193
  {
renatofilho@320
   194
  	g_string_free( gmyth_program_info->seriesid, TRUE );
renatofilho@320
   195
  	gmyth_program_info->chanOutputFilters = NULL;
renatofilho@320
   196
renatofilho@320
   197
  }
renatofilho@320
   198
  /** The program unique id. */
renatofilho@320
   199
  if ( gmyth_program_info->programid != NULL )
renatofilho@320
   200
  {
renatofilho@320
   201
  	g_string_free( gmyth_program_info->programid, TRUE );
renatofilho@320
   202
  	gmyth_program_info->programid = NULL;
renatofilho@320
   203
renatofilho@320
   204
  }
renatofilho@320
   205
  if ( gmyth_program_info->catType != NULL )
renatofilho@320
   206
  {
renatofilho@320
   207
  	g_string_free( gmyth_program_info->catType, TRUE );
renatofilho@320
   208
  	gmyth_program_info->catType = NULL;
renatofilho@320
   209
renatofilho@320
   210
  }
renatofilho@320
   211
renatofilho@320
   212
  if ( gmyth_program_info->sortTitle != NULL )
renatofilho@320
   213
  {
renatofilho@320
   214
  	g_string_free( gmyth_program_info->sortTitle, TRUE );
renatofilho@320
   215
  	gmyth_program_info->sortTitle = NULL;
renatofilho@320
   216
renatofilho@320
   217
  }  
renatofilho@320
   218
  
renatofilho@320
   219
  if ( gmyth_program_info->year != NULL )
renatofilho@320
   220
  {
renatofilho@320
   221
  	g_string_free( gmyth_program_info->year, TRUE );
renatofilho@320
   222
  	gmyth_program_info->year = NULL;
renatofilho@320
   223
renatofilho@320
   224
  }    
renatofilho@320
   225
  
renatofilho@320
   226
  if ( gmyth_program_info->originalAirDate != NULL )
renatofilho@320
   227
  {
renatofilho@320
   228
  	g_free( gmyth_program_info->originalAirDate);
renatofilho@320
   229
  	gmyth_program_info->originalAirDate = NULL;
renatofilho@320
   230
  }
renatofilho@320
   231
  if ( gmyth_program_info->lastmodified != NULL )
renatofilho@320
   232
  {
renatofilho@320
   233
  	g_free( gmyth_program_info->lastmodified );
renatofilho@320
   234
  	gmyth_program_info->lastmodified = NULL;
renatofilho@320
   235
renatofilho@320
   236
  }
renatofilho@320
   237
  if (gmyth_program_info->lastInUseTime != NULL)
renatofilho@320
   238
  {
renatofilho@320
   239
  	g_free( gmyth_program_info->lastInUseTime );
renatofilho@320
   240
  	gmyth_program_info->lastInUseTime = NULL;
renatofilho@320
   241
  }
renatofilho@320
   242
  
renatofilho@320
   243
  if ( gmyth_program_info->schedulerid != NULL )
renatofilho@320
   244
  {
renatofilho@320
   245
  	g_string_free( gmyth_program_info->schedulerid, TRUE );
renatofilho@320
   246
  	gmyth_program_info->schedulerid = NULL;
renatofilho@320
   247
  }
renatofilho@320
   248
renatofilho@320
   249
  if ( gmyth_program_info->recgroup != NULL )
renatofilho@320
   250
  {
renatofilho@320
   251
  	g_string_free( gmyth_program_info->recgroup, TRUE );
renatofilho@320
   252
  	gmyth_program_info->recgroup = NULL;
renatofilho@320
   253
  }
renatofilho@320
   254
  if ( gmyth_program_info->playgroup != NULL )
renatofilho@320
   255
  {
renatofilho@320
   256
  	g_string_free( gmyth_program_info->playgroup, TRUE );
renatofilho@320
   257
  	gmyth_program_info->playgroup = NULL;
renatofilho@320
   258
  }
renatofilho@320
   259
  
renatofilho@320
   260
  /** The file name of the recorded program.*/
renatofilho@320
   261
  if ( gmyth_program_info->pathname != NULL)
renatofilho@320
   262
  {
renatofilho@320
   263
  	g_string_free( gmyth_program_info->pathname, TRUE );
renatofilho@320
   264
  	gmyth_program_info->pathname = NULL;
renatofilho@320
   265
  }
renatofilho@320
   266
renatofilho@320
   267
  if ( gmyth_program_info->hostname != NULL )
renatofilho@320
   268
  {
renatofilho@320
   269
  	g_string_free( gmyth_program_info->hostname, TRUE );
renatofilho@320
   270
  	gmyth_program_info->hostname = NULL;
renatofilho@320
   271
  }
renatofilho@320
   272
   
renatofilho@320
   273
	G_OBJECT_CLASS (gmyth_program_info_parent_class)->dispose (object);
renatofilho@320
   274
}
renatofilho@320
   275
renatofilho@320
   276
static void
renatofilho@320
   277
gmyth_program_info_finalize (GObject *object)
renatofilho@320
   278
{
renatofilho@320
   279
    g_signal_handlers_destroy (object);
renatofilho@320
   280
renatofilho@320
   281
    G_OBJECT_CLASS (gmyth_program_info_parent_class)->finalize (object);
renatofilho@320
   282
}
renatofilho@320
   283
renatofilho@320
   284
/**
renatofilho@320
   285
 * Creates a new instance of GMythProgramInfo.
renatofilho@320
   286
 * 
renatofilho@320
   287
 * @return a new instance of GMythProgramInfo.
renatofilho@320
   288
 */
renatofilho@320
   289
GMythProgramInfo*
renatofilho@320
   290
gmyth_program_info_new (void)
renatofilho@320
   291
{
renatofilho@320
   292
    GMythProgramInfo *program_info = GMYTH_PROGRAM_INFO (g_object_new(GMYTH_PROGRAM_INFO_TYPE, NULL));
renatofilho@320
   293
renatofilho@320
   294
    return program_info;
renatofilho@320
   295
}
renatofilho@320
   296
renatofilho@320
   297
GMythStringList*
renatofilho@320
   298
gmyth_program_info_to_string_list (GMythProgramInfo *prog, GMythStringList *slist)
renatofilho@320
   299
{
renatofilho@320
   300
    g_return_val_if_fail (prog != NULL, NULL);
renatofilho@320
   301
    g_return_val_if_fail (slist != NULL, NULL);
renatofilho@320
   302
renatofilho@320
   303
    gmyth_string_list_append_string (slist, prog->title); /* 0 */
renatofilho@320
   304
    gmyth_string_list_append_string (slist, prog->subtitle); /* 1 */
renatofilho@320
   305
    gmyth_string_list_append_string (slist, prog->description); /* 2 */
renatofilho@320
   306
    gmyth_string_list_append_string (slist, prog->category); /* 3 */
renatofilho@320
   307
    gmyth_string_list_append_string (slist, prog->chanid); /* 4 */
renatofilho@320
   308
    gmyth_string_list_append_string (slist, prog->chanstr); /* 5 */
renatofilho@320
   309
    gmyth_string_list_append_string (slist, prog->chansign); /* 6 */
renatofilho@320
   310
    gmyth_string_list_append_string (slist, prog->channame); /* 7 */
renatofilho@320
   311
    gmyth_string_list_append_string (slist, prog->pathname); /* 8 */
renatofilho@320
   312
renatofilho@320
   313
    // fixme
renatofilho@320
   314
    gmyth_string_list_append_int64 (slist, 100/*prog->filesize*/); /* 9 */
renatofilho@320
   315
    gmyth_string_list_append_int64 (slist, 10); /* 11 */
renatofilho@320
   316
renatofilho@320
   317
    if (prog->startts)
renatofilho@320
   318
        gmyth_string_list_append_int (slist, prog->startts->tv_sec);  /* 11 */ //DATETIME_TO_LIST(startts)
renatofilho@320
   319
    else
renatofilho@320
   320
	gmyth_string_list_append_int (slist, 0);
renatofilho@320
   321
    
renatofilho@320
   322
    if (prog->endts)
renatofilho@320
   323
        gmyth_string_list_append_int (slist, prog->endts->tv_sec);  /* 12 */ //DATETIME_TO_LIST(endts)
renatofilho@320
   324
    else
renatofilho@320
   325
	gmyth_string_list_append_int (slist, 0);
renatofilho@320
   326
renatofilho@320
   327
    gmyth_string_list_append_int (slist, prog->duplicate); /* 13 */
renatofilho@320
   328
    gmyth_string_list_append_int (slist, prog->shareable); /* 14 */
renatofilho@320
   329
    gmyth_string_list_append_int (slist, prog->findid); /* 15 */
renatofilho@320
   330
    gmyth_string_list_append_string (slist, prog->hostname); /* 16 */
renatofilho@320
   331
    gmyth_string_list_append_int (slist, prog->sourceid); /* 17 */
renatofilho@320
   332
    gmyth_string_list_append_int (slist, prog->cardid); /* 18 */
renatofilho@320
   333
    gmyth_string_list_append_int (slist, prog->inputid); /* 19 */
renatofilho@320
   334
    gmyth_string_list_append_int (slist, prog->recpriority); /* 20 */
renatofilho@320
   335
    gmyth_string_list_append_int (slist, 0 /*prog->recstatus*/); /* 21 */
renatofilho@320
   336
    gmyth_string_list_append_int (slist, prog->recordid); /* 22 */
renatofilho@320
   337
    gmyth_string_list_append_int (slist, 0 /*prog->rectype*/); /* 23 */
renatofilho@320
   338
    gmyth_string_list_append_int (slist, 0 /*prog->dupin*/); /* 24 */
renatofilho@320
   339
    gmyth_string_list_append_int (slist, 0 /*prog->dupmethod*/); /* 25 */
renatofilho@320
   340
    gmyth_string_list_append_int (slist, prog->recstartts != NULL ? prog->recstartts->tv_sec : 0);  /* 26 */ //DATETIME_TO_LIST(recstartts)
renatofilho@320
   341
    gmyth_string_list_append_int (slist, prog->recendts != NULL ? prog->recendts->tv_sec : 0);  /* 27 */ //DATETIME_TO_LIST(recendts)
renatofilho@320
   342
    gmyth_string_list_append_int (slist, prog->repeat); /* 28 */
renatofilho@320
   343
    gmyth_string_list_append_int (slist, prog->programflags); /* 29 */
renatofilho@320
   344
    gmyth_string_list_append_char_array (slist, "Default"); /* 30 */ //prog->(recgroup != "") ? recgroup : "Default")
renatofilho@320
   345
    gmyth_string_list_append_int (slist, prog->chancommfree); /* 31 */
renatofilho@320
   346
    gmyth_string_list_append_string (slist, prog->chanOutputFilters); /* 32 */
renatofilho@320
   347
    gmyth_string_list_append_string (slist, prog->seriesid); /* 33 */
renatofilho@320
   348
    gmyth_string_list_append_string (slist, prog->programid); /* 34 */
renatofilho@320
   349
    gmyth_string_list_append_string (slist, ""); /* 35 */
renatofilho@320
   350
    gmyth_string_list_append_int (slist, prog->lastmodified != NULL ? prog->lastmodified->tv_sec : 0);  /* 36 */ //DATETIME_TO_LIST(lastmodified)
renatofilho@320
   351
    gmyth_string_list_append_int (slist, 0);  /* 37 */ //FLOAT_TO_LIST(stars)
renatofilho@320
   352
    gmyth_string_list_append_int (slist, prog->originalAirDate != NULL ? prog->originalAirDate->tv_sec : 0);  /* 38 */ //DATETIME_TO_LIST(QDateTime(originalAirDate))
renatofilho@320
   353
    gmyth_string_list_append_int (slist, prog->hasAirDate); /* 39 */
renatofilho@320
   354
    gmyth_string_list_append_char_array (slist, "Default");  /* 40 */ //prog->(playgroup != "") ? playgroup : "Default")
renatofilho@320
   355
    gmyth_string_list_append_int (slist, prog->recpriority2); /* 41 */
renatofilho@320
   356
   
renatofilho@320
   357
    return slist;
renatofilho@320
   358
}
renatofilho@320
   359
renatofilho@320
   360
GMythProgramInfo*
renatofilho@320
   361
gmyth_program_info_from_string_list ( GMythStringList *slist )
renatofilho@320
   362
{
renatofilho@320
   363
		GMythProgramInfo *prog = gmyth_program_info_new();
renatofilho@320
   364
renatofilho@320
   365
    g_return_val_if_fail (slist != NULL, NULL);
renatofilho@320
   366
    /*
renatofilho@320
   367
		Unknown
renatofilho@320
   368
		
renatofilho@320
   369
		
renatofilho@320
   370
		
renatofilho@320
   371
		1000
renatofilho@320
   372
		9
renatofilho@320
   373
		1000
renatofilho@320
   374
		Band
renatofilho@320
   375
		/mnt/store//1000_20070125110059.nuv
renatofilho@320
   376
		0
renatofilho@320
   377
		0
renatofilho@320
   378
		1169733659
renatofilho@320
   379
		1169735400
renatofilho@320
   380
		0
renatofilho@320
   381
		0
renatofilho@320
   382
		0
renatofilho@320
   383
		hmelo-desktop
renatofilho@320
   384
		0
renatofilho@320
   385
		1
renatofilho@320
   386
		0
renatofilho@320
   387
		0
renatofilho@320
   388
		-2
renatofilho@320
   389
		0
renatofilho@320
   390
		0
renatofilho@320
   391
		15
renatofilho@320
   392
		6
renatofilho@320
   393
		1169733659
renatofilho@320
   394
		1169735400
renatofilho@320
   395
		0
renatofilho@320
   396
		0
renatofilho@320
   397
		LiveTV
renatofilho@320
   398
		0
renatofilho@320
   399
		
renatofilho@320
   400
		
renatofilho@320
   401
		
renatofilho@320
   402
		1169733659
renatofilho@320
   403
		0.000000
renatofilho@320
   404
		-1
renatofilho@320
   405
		0
renatofilho@320
   406
		Default
renatofilho@320
   407
		0
renatofilho@320
   408
		*/
renatofilho@320
   409
    prog->title = gmyth_string_list_get_string (slist, 0);
renatofilho@320
   410
    prog->subtitle = gmyth_string_list_get_string (slist, 1);
renatofilho@320
   411
    prog->description = gmyth_string_list_get_string (slist, 2);
renatofilho@320
   412
    prog->category = gmyth_string_list_get_string (slist, 3);
renatofilho@320
   413
    prog->chanid = gmyth_string_list_get_string (slist, 4);
renatofilho@320
   414
    prog->chanstr = gmyth_string_list_get_string (slist, 5);
renatofilho@320
   415
    prog->chansign = gmyth_string_list_get_string (slist, 6);
renatofilho@320
   416
    prog->channame = gmyth_string_list_get_string (slist, 7);
renatofilho@320
   417
    prog->pathname = gmyth_string_list_get_string (slist, 8);
renatofilho@320
   418
    prog->filesize = gmyth_string_list_get_int64 (slist, 9);
renatofilho@320
   419
    gmyth_string_list_get_int64 (slist, 10);
renatofilho@320
   420
renatofilho@320
   421
    prog->startts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   422
    					(time_t)gmyth_string_list_get_int (slist, 11) ))->str ); //DATETIME_TO_LIST(startts)
renatofilho@320
   423
    prog->endts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   424
    					(time_t)gmyth_string_list_get_int (slist, 12) ))->str ); //DATETIME_TO_LIST(endts)
renatofilho@320
   425
    prog->duplicate = gmyth_string_list_get_int (slist, 13);
renatofilho@320
   426
    prog->shareable = gmyth_string_list_get_int (slist, 14);
renatofilho@320
   427
    prog->findid = gmyth_string_list_get_int (slist, 15);
renatofilho@320
   428
    prog->hostname = gmyth_string_list_get_string (slist, 16);
renatofilho@320
   429
    prog->sourceid = gmyth_string_list_get_int (slist, 17);
renatofilho@320
   430
    prog->cardid = gmyth_string_list_get_int (slist, 18);
renatofilho@320
   431
    prog->inputid = gmyth_string_list_get_int (slist, 19);
renatofilho@320
   432
    prog->recpriority = gmyth_string_list_get_int (slist, 20);
renatofilho@320
   433
    prog->reactivate = gmyth_string_list_get_int (slist, 21);
renatofilho@320
   434
    prog->recordid = gmyth_string_list_get_int (slist, 22);
renatofilho@320
   435
    gmyth_string_list_get_int (slist, 23);
renatofilho@320
   436
    gmyth_string_list_get_int (slist, 24);
renatofilho@320
   437
    gmyth_string_list_get_int (slist, 25);
renatofilho@320
   438
    prog->recstartts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   439
    					(time_t)gmyth_string_list_get_int (slist, 26) ))->str ); //DATETIME_TO_LIST(recstartts)
renatofilho@320
   440
    prog->recendts = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   441
    					(time_t)gmyth_string_list_get_int (slist, 27) ))->str ); //DATETIME_TO_LIST(recendts)
renatofilho@320
   442
    prog->repeat = gmyth_string_list_get_int (slist, 28);
renatofilho@320
   443
    prog->programflags = gmyth_string_list_get_int (slist, 29);
renatofilho@320
   444
    prog->recgroup = gmyth_string_list_get_string (slist, 30); //prog->(recgroup != "") ? recgroup : "Default")
renatofilho@320
   445
    prog->chancommfree = gmyth_string_list_get_int (slist, 31);
renatofilho@320
   446
    prog->chanOutputFilters = gmyth_string_list_get_string (slist, 32);
renatofilho@320
   447
    prog->seriesid = gmyth_string_list_get_string (slist, 33);
renatofilho@320
   448
    prog->programid = gmyth_string_list_get_string (slist, 34);
renatofilho@320
   449
    gmyth_string_list_get_string (slist, 35);
renatofilho@320
   450
    prog->lastmodified = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   451
    					(time_t)gmyth_string_list_get_int (slist, 36) ))->str ); //DATETIME_TO_LIST(lastmodified)
renatofilho@320
   452
    gmyth_string_list_get_int (slist, 37); //FLOAT_TO_LIST(stars)
renatofilho@320
   453
    prog->originalAirDate = gmyth_util_string_to_time_val( (gmyth_util_time_to_isoformat( 
renatofilho@320
   454
    					(time_t)gmyth_string_list_get_int (slist, 38) ))->str ); //DATETIME_TO_LIST(QDateTime(originalAirDate))
renatofilho@320
   455
    prog->hasAirDate = gmyth_string_list_get_int (slist, 39);
renatofilho@320
   456
    prog->playgroup = gmyth_string_list_get_string (slist, 40); //prog->(playgroup != "") ? playgroup : "Default")
renatofilho@320
   457
    prog->recpriority2 = gmyth_string_list_get_int (slist, 41);
renatofilho@320
   458
   
renatofilho@320
   459
    return prog;
renatofilho@320
   460
}