/**
* 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*/