renatofilho@320: /** renatofilho@320: * GMyth Library renatofilho@320: * renatofilho@320: * @file gmyth/gmyth_livetv.h renatofilho@320: * renatofilho@320: * @brief

GMythLiveTV starts a remote TV session with the MythTV backend. renatofilho@320: * renatofilho@320: * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia. renatofilho@320: * @author Rosfran Lins Borges renatofilho@320: * renatofilho@320: *//* renatofilho@320: * renatofilho@320: * This program is free software; you can redistribute it and/or modify renatofilho@320: * it under the terms of the GNU Lesser General Public License as published by renatofilho@320: * the Free Software Foundation; either version 2 of the License, or renatofilho@320: * (at your option) any later version. renatofilho@320: * renatofilho@320: * This program is distributed in the hope that it will be useful, renatofilho@320: * but WITHOUT ANY WARRANTY; without even the implied warranty of renatofilho@320: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the renatofilho@320: * GNU General Public License for more details. renatofilho@320: * renatofilho@320: * You should have received a copy of the GNU Lesser General Public License renatofilho@320: * along with this program; if not, write to the Free Software renatofilho@320: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA renatofilho@320: */ renatofilho@320: renatofilho@320: #ifndef GMYTH_LIVETV_H_ renatofilho@320: #define GMYTH_LIVETV_H_ renatofilho@320: renatofilho@320: #include renatofilho@320: #include renatofilho@320: renatofilho@320: #include "gmyth_recorder.h" renatofilho@320: #include "gmyth_tvchain.h" renatofilho@320: #include "gmyth_monitor_handler.h" renatofilho@320: #include "gmyth_file_transfer.h" renatofilho@320: #include "gmyth_programinfo.h" renatofilho@320: #include "gmyth_backendinfo.h" renatofilho@320: renatofilho@320: G_BEGIN_DECLS renatofilho@320: renatofilho@320: #define GMYTH_LIVETV_TYPE (gmyth_livetv_get_type ()) renatofilho@320: #define GMYTH_LIVETV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_LIVETV_TYPE, GMythLiveTV)) renatofilho@320: #define GMYTH_LIVETV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_LIVETV_TYPE, GMythLiveTVClass)) renatofilho@320: #define IS_GMYTH_LIVETV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_LIVETV_TYPE)) renatofilho@320: #define IS_GMYTH_LIVETV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_LIVETV_TYPE)) renatofilho@320: #define GMYTH_LIVETV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_LIVETV_TYPE, GMythLiveTVClass)) renatofilho@320: renatofilho@320: typedef struct _GMythLiveTV GMythLiveTV; renatofilho@320: typedef struct _GMythLiveTVClass GMythLiveTVClass; renatofilho@320: renatofilho@320: struct _GMythLiveTVClass renatofilho@320: { renatofilho@320: GObjectClass parent_class; renatofilho@320: renatofilho@320: /* callbacks */ renatofilho@320: }; renatofilho@320: renatofilho@320: struct _GMythLiveTV renatofilho@320: { renatofilho@320: GObject parent; renatofilho@320: renatofilho@320: GString *local_hostname; renatofilho@320: renatofilho@320: GMythBackendInfo *backend_info; renatofilho@320: renatofilho@320: GMythRecorder *recorder; renatofilho@320: GMythTVChain *tvchain; renatofilho@320: GMythProgramInfo *proginfo; renatofilho@320: renatofilho@320: GMythFileTransfer *file_transfer; renatofilho@320: renatofilho@320: GMythMonitorHandler *monitor; renatofilho@320: GMythURI *uri; renatofilho@320: renatofilho@320: gboolean is_livetv; renatofilho@320: gboolean setup_done; renatofilho@320: renatofilho@320: }; renatofilho@320: renatofilho@320: GType gmyth_livetv_get_type (void); renatofilho@320: renatofilho@320: GMythLiveTV* gmyth_livetv_new (); renatofilho@320: renatofilho@320: void gmyth_livetv_start_playing (GMythLiveTV *livetv); renatofilho@320: void gmyth_livetv_stop_playing (GMythLiveTV *livetv); renatofilho@320: renatofilho@320: gboolean gmyth_livetv_setup (GMythLiveTV *livetv, GMythBackendInfo *backend_info); renatofilho@320: gboolean gmyth_livetv_channel_setup ( GMythLiveTV *livetv, gint channel, GMythBackendInfo *backend_info ); renatofilho@320: gboolean gmyth_livetv_channel_name_setup ( GMythLiveTV *livetv, gchar* channel, GMythBackendInfo *backend_info ); renatofilho@320: gboolean gmyth_livetv_next_program_chain ( GMythLiveTV *livetv ); renatofilho@320: renatofilho@320: GMythFileTransfer *gmyth_livetv_create_file_transfer( GMythLiveTV *livetv ); renatofilho@320: renatofilho@320: gboolean gmyth_livetv_monitor_handler_start( GMythLiveTV *livetv ); renatofilho@320: void gmyth_livetv_monitor_handler_stop( GMythLiveTV *livetv ); renatofilho@320: renatofilho@320: G_END_DECLS renatofilho@320: renatofilho@320: #endif /*GMYTH_LIVETV_H_*/