/** * GMyth Library * * @file gmyth/gmyth_common.h * * @brief

This file contains basic common functions for the gmyth library. * * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia. * @author Leonardo Sobral Cunha * *//* * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _GMYTH_PROGRAMINFO_H #define _GMYTH_PROGRAMINFO_H #include #include #include "gmyth_stringlist.h" G_BEGIN_DECLS #define GMYTH_PROGRAM_INFO_TYPE (gmyth_program_info_get_type ()) #define GMYTH_PROGRAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_PROGRAM_INFO_TYPE, GMythProgramInfo)) #define GMYTH_PROGRAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_PROGRAM_INFO_TYPE, GMythProgramInfoClass)) #define IS_GMYTH_PROGRAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_PROGRAM_INFO_TYPE)) #define IS_GMYTH_PROGRAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_PROGRAM_INFO_TYPE)) #define GMYTH_PROGRAM_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_PROGRAM_INFO_TYPE, GMythProgramInfoClass)) typedef struct _GMythProgramInfo GMythProgramInfo; typedef struct _GMythProgramInfoClass GMythProgramInfoClass; struct _GMythProgramInfoClass { GObjectClass parent_class; /* callbacks */ }; /** * The GMythProgramInfo structure represents a program information * stored in the database. It could be a program from the EPG data, * a program scheduled to be recorded, or a program already recorded. */ struct _GMythProgramInfo { GObject parent; /** The channel unique ID. */ GString *chanid; /** The program start time. */ GTimeVal* startts; /** The program end time. */ GTimeVal* endts; /** The recording schedule start time. */ GTimeVal* recstartts; /** The recording schedule end time */ GTimeVal* recendts; /** The program title. */ GString *title; /** The program subtitle. */ GString *subtitle; /** The program description. */ GString *description; /** The program category. */ GString *category; GString *chanstr; GString *chansign; /** The associated channel name. */ GString *channame; gint chancommfree; GString *chanOutputFilters; GString *seriesid; /** The program unique id. */ GString *programid; GString *catType; GString *sortTitle; /** A flag informing if the program has video or not. */ gboolean isVideo; gint lenMins; GString *year; gdouble stars; gint repeat; GTimeVal* originalAirDate; GTimeVal* lastmodified; GTimeVal* lastInUseTime; gboolean hasAirDate; gint spread; gint startCol; gint recpriority2; gint reactivate; gint recordid; gint parentid; /** The backend video source id associated to this program.*/ gint sourceid; /** the backend input id associated to this program.*/ gint inputid; /** The backend card id associated to this program.*/ gint cardid; gboolean shareable; gboolean duplicate; GString * schedulerid; gint findid; gint programflags; gint transcoder; GString *recgroup; GString *playgroup; gint recpriority; /** The file size of the recorded program.*/ gint64 filesize; /** The file name of the recorded program.*/ GString *pathname; GString *hostname; /* AvailableStatusType availableStatus;*/ }; GType gmyth_program_info_type (void); GMythProgramInfo* gmyth_program_info_new (void); GMythStringList* gmyth_program_info_to_string_list (GMythProgramInfo *prog, GMythStringList *slist); GMythProgramInfo* gmyth_program_info_from_string_list (GMythStringList *slist); G_END_DECLS #endif /*_GMYTH_PROGRAMINFO_H*/