branches/gmyth-0.1b/src/gmyth_common.c
author rosfran
Thu Feb 08 20:57:31 2007 +0000 (2007-02-08)
branchtrunk
changeset 337 60bfeabc0af6
permissions -rw-r--r--
[svn r339] GObject's dispose methods organization, and reviewed clean-up actions.
renatofilho@320
     1
/**
renatofilho@320
     2
 * GMyth Library
renatofilho@320
     3
 *
renatofilho@320
     4
 * @file gmyth/gmyth_common.c
renatofilho@320
     5
 * 
renatofilho@320
     6
 * @brief <p> This file contains basic common functions for the gmyth library.
renatofilho@320
     7
 *
renatofilho@320
     8
 * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia.
renatofilho@320
     9
 * @author Leonardo Sobral Cunha <leonardo.cunha@indt.org.br>
renatofilho@320
    10
 *
renatofilho@320
    11
 *//*
renatofilho@320
    12
 * 
renatofilho@320
    13
 * This program is free software; you can redistribute it and/or modify
renatofilho@320
    14
 * it under the terms of the GNU Lesser General Public License as published by
renatofilho@320
    15
 * the Free Software Foundation; either version 2 of the License, or
renatofilho@320
    16
 * (at your option) any later version.
renatofilho@320
    17
 *
renatofilho@320
    18
 * This program is distributed in the hope that it will be useful,
renatofilho@320
    19
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
renatofilho@320
    20
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
renatofilho@320
    21
 * GNU General Public License for more details.
renatofilho@320
    22
 *
renatofilho@320
    23
 * You should have received a copy of the GNU Lesser General Public License
renatofilho@320
    24
 * along with this program; if not, write to the Free Software
renatofilho@320
    25
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
renatofilho@320
    26
 */
renatofilho@320
    27
renatofilho@320
    28
#ifdef HAVE_CONFIG_H
renatofilho@320
    29
#include "config.h"
renatofilho@320
    30
#endif
renatofilho@320
    31
renatofilho@320
    32
#include "gmyth_common.h"
renatofilho@320
    33
#include "gmyth_debug.h"
renatofilho@320
    34
#include "gmyth_util.h"
renatofilho@320
    35
renatofilho@320
    36
static void free_channel_data(gpointer data, gpointer user_data);
renatofilho@320
    37
static void free_program_data(gpointer data, gpointer user_data);
renatofilho@320
    38
renatofilho@320
    39
/** Frees the memory allocated to the GMythChannelInfo objects inside list.
renatofilho@320
    40
 * The list memory is also released by g_list_free(). If LIST is NULL it
renatofilho@320
    41
 * simply returns.
renatofilho@320
    42
 * 
renatofilho@320
    43
 * @param list the GList containing a list of GMythChannelInfo to free.
renatofilho@320
    44
 */
renatofilho@320
    45
void 
renatofilho@320
    46
gmyth_free_channel_list(GList *list) 
renatofilho@320
    47
{
renatofilho@320
    48
	if (list == NULL) {
renatofilho@320
    49
		g_warning ("%s received null GList as parameter", __FUNCTION__);
renatofilho@320
    50
		return;
renatofilho@320
    51
	}
renatofilho@320
    52
	
renatofilho@320
    53
	g_list_foreach (list, free_channel_data, NULL);
renatofilho@320
    54
	
renatofilho@320
    55
	g_list_free (list);
renatofilho@320
    56
}
renatofilho@320
    57
renatofilho@320
    58
/** Frees the memory allocated to the GMythProgramInfo objects inside list.
renatofilho@320
    59
 * The list memory is also released by g_list_free(). If list is NULL it
renatofilho@320
    60
 * simply returns.
renatofilho@320
    61
 * 
renatofilho@320
    62
 * @param list the GList containing a list of GMythProgramInfo to free.
renatofilho@320
    63
 */
renatofilho@320
    64
void
renatofilho@320
    65
gmyth_free_program_list(GList *list)
renatofilho@320
    66
{
renatofilho@320
    67
	if (list == NULL) {
renatofilho@320
    68
		g_warning ("%s received null GList as parameter", __FUNCTION__);
renatofilho@320
    69
		return;
renatofilho@320
    70
	}
renatofilho@320
    71
	
renatofilho@320
    72
	g_list_foreach (list, free_program_data, NULL);
renatofilho@320
    73
	
renatofilho@320
    74
	g_list_free (list);
renatofilho@320
    75
}
renatofilho@320
    76
renatofilho@320
    77
void 
renatofilho@320
    78
gmyth_channel_info_print(GMythChannelInfo *channel_info)
renatofilho@320
    79
{
renatofilho@320
    80
	if ( channel_info != NULL )
renatofilho@320
    81
	{
renatofilho@320
    82
    gmyth_debug("ChannelInfo (Name, Num, ID) = (%s, %s, %d)\n", 
renatofilho@320
    83
             channel_info->channel_name->str, channel_info->channel_num->str, 
renatofilho@320
    84
             channel_info->channel_ID);
renatofilho@320
    85
	}
renatofilho@320
    86
}
renatofilho@320
    87
renatofilho@320
    88
void 
renatofilho@320
    89
gmyth_program_info_print(GMythProgramInfo *program_info)
renatofilho@320
    90
{
renatofilho@320
    91
	
renatofilho@320
    92
	if ( program_info != NULL ) {
renatofilho@320
    93
		
renatofilho@320
    94
	  gmyth_debug( "ProgramInfo\n\tTitle = %s\n\t"
renatofilho@320
    95
	           "Description = %s\n\t"
renatofilho@320
    96
	           "Start time= %s\t"
renatofilho@320
    97
	           "End time = %s\n"
renatofilho@320
    98
	           "Path name = %s\n"
renatofilho@320
    99
	           "File size = %lld\n"
renatofilho@320
   100
	           , program_info->title->str,
renatofilho@320
   101
	           program_info->description->str, 
renatofilho@320
   102
	           gmyth_util_time_to_string_from_time_val(program_info->startts),
renatofilho@320
   103
	           gmyth_util_time_to_string_from_time_val(program_info->endts), 
renatofilho@320
   104
	           program_info->pathname->str,
renatofilho@320
   105
	           program_info->filesize );
renatofilho@320
   106
	           
renatofilho@320
   107
	}
renatofilho@320
   108
	
renatofilho@320
   109
}
renatofilho@320
   110
renatofilho@320
   111
static void 
renatofilho@320
   112
free_channel_data(gpointer data, gpointer user_data)
renatofilho@320
   113
{
renatofilho@320
   114
    if(data)
renatofilho@320
   115
        g_free((GMythChannelInfo*) data);
renatofilho@320
   116
}
renatofilho@320
   117
renatofilho@320
   118
static void
renatofilho@320
   119
free_program_data(gpointer data, gpointer user_data)
renatofilho@320
   120
{
renatofilho@320
   121
    if(data)
renatofilho@320
   122
        g_object_unref((GMythProgramInfo*) data);
renatofilho@320
   123
}
renatofilho@320
   124