gmyth/gmyth/gmyth_epg.h
author melunko
Thu Mar 13 16:29:38 2008 +0000 (2008-03-13)
branchtrunk
changeset 942 c93bfa74c71f
parent 925 4a8d56080089
permissions -rw-r--r--
[svn r951] gmyth now is 0.8.1. Added methods epg_is_connected() and scheduler_is_connected()
leo_sobral@1
     1
/**
leo_sobral@1
     2
 * GMyth Library
leo_sobral@1
     3
 *
leo_sobral@1
     4
 * @file gmyth/gmyth_epg.h
leo_sobral@1
     5
 * 
leo_sobral@1
     6
 * @brief <p> GMythEPG class provides access to the program and channel data
leo_sobral@1
     7
 * from the Electronic Program Guide (EPG) of the Mythtv backend.
leo_sobral@1
     8
 *
leo_sobral@1
     9
 * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia.
leo_sobral@1
    10
 * @author Leonardo Sobral Cunha <leonardo.cunha@indt.org.br>
renatofilho@750
    11
 * 
renatofilho@750
    12
 * This program is free software; you can redistribute it and/or modify
renatofilho@750
    13
 * it under the terms of the GNU Lesser General Public License as published by
renatofilho@750
    14
 * the Free Software Foundation; either version 2 of the License, or
renatofilho@750
    15
 * (at your option) any later version.
leo_sobral@1
    16
 *
renatofilho@750
    17
 * This program is distributed in the hope that it will be useful,
renatofilho@750
    18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
renatofilho@750
    19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
renatofilho@750
    20
 * GNU General Public License for more details.
renatofilho@750
    21
 *
renatofilho@750
    22
 * You should have received a copy of the GNU Lesser General Public License
renatofilho@750
    23
 * along with this program; if not, write to the Free Software
renatofilho@750
    24
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
renatofilho@750
    25
 */
leo_sobral@1
    26
leo_sobral@1
    27
#ifndef GMYTH_EPG_H_
leo_sobral@1
    28
#define GMYTH_EPG_H_
leo_sobral@1
    29
leo_sobral@1
    30
#include <glib-object.h>
leo_sobral@1
    31
leo_sobral@1
    32
#include "gmyth_query.h"
leo_sobral@1
    33
#include "gmyth_common.h"
leo_sobral@1
    34
leo_sobral@6
    35
G_BEGIN_DECLS
leo_sobral@1
    36
#define GMYTH_EPG_TYPE               (gmyth_epg_get_type ())
leo_sobral@1
    37
#define GMYTH_EPG(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_EPG_TYPE, GMythEPG))
leo_sobral@1
    38
#define GMYTH_EPG_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_EPG_TYPE, GMythEPGClass))
rosfran@545
    39
#define IS_GMYTH_EPG(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMYTH_EPG_TYPE))
leo_sobral@1
    40
#define IS_GMYTH_EPG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_EPG_TYPE))
leo_sobral@1
    41
#define GMYTH_EPG_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_EPG_TYPE, GMythEPGClass))
rosfran@698
    42
typedef struct _GMythEPG GMythEPG;
rosfran@698
    43
typedef struct _GMythEPGClass GMythEPGClass;
leo_sobral@1
    44
renatofilho@754
    45
struct _GMythEPGClass {
melunko@942
    46
    GObjectClass parent_class;
renatofilho@750
    47
};
leo_sobral@1
    48
renatofilho@754
    49
struct _GMythEPG {
renatofilho@754
    50
    GObject         parent;
leo_sobral@1
    51
renatofilho@754
    52
    GMythQuery     *sqlquery;
renatofilho@754
    53
    GMythBackendInfo *backend_info;
renatofilho@750
    54
};
leo_sobral@1
    55
melunko@942
    56
GType     gmyth_epg_get_type              (void) G_GNUC_CONST;;
melunko@942
    57
GMythEPG* gmyth_epg_new                   (void);
melunko@942
    58
gboolean  gmyth_epg_connect               (GMythEPG           *gmyth_epg,
melunko@942
    59
                                           GMythBackendInfo   *backend_info);
melunko@942
    60
gboolean  gmyth_epg_is_connected (GMythEPG *gmyth_epg);
melunko@942
    61
	
melunko@942
    62
gboolean  gmyth_epg_disconnect            (GMythEPG           *gmyth_epg);
melunko@942
    63
gint      gmyth_epg_get_channel_list      (GMythEPG           *gmyth_epg,
melunko@942
    64
                                           GList              **glist_ptr);
melunko@942
    65
gint      gmyth_epg_get_program_list      (GMythEPG           *gmyth_epg,
melunko@942
    66
                                           GList              **proglist,
melunko@942
    67
                                           gint               chanNum,
melunko@942
    68
                                           GTimeVal           *starttime,
melunko@942
    69
                                           GTimeVal           *endtime);
renatofilho@755
    70
GMythChannelInfo*gmyth_epg_get_channel_info     (GMythEPG           *gmyth_epg,
renatofilho@755
    71
                                                 gint               channel_id);
melunko@942
    72
gboolean  gmyth_epg_channel_has_icon      (GMythEPG           *gmyth_epg,
melunko@942
    73
                                           GMythChannelInfo   *channel);
melunko@942
    74
gboolean  gmyth_epg_channel_get_icon      (GMythEPG           *gmyth_epg,
melunko@942
    75
                                           GMythChannelInfo   *channel,
melunko@942
    76
                                           guint8             **data, 
melunko@942
    77
                                           guint              *length);
melunko@583
    78
renatofilho@750
    79
G_END_DECLS
renatofilho@754
    80
#endif                          /* GMYTH_EPG_H_ */