vdr  1.7.27
vdrttxtsubshooks.h
Go to the documentation of this file.
00001 /*
00002  * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder
00003  * Copyright (c) 2003 - 2008 Ragnar Sundblad <ragge@nada.kth.se>
00004  *
00005  * This program is free software; you can redistribute it and/or modify it
00006  * under the terms of the GNU General Public License as published by the
00007  * Free Software Foundation; either version 2 of the License, or (at your option)
00008  * any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful, but
00011  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
00013  * details.
00014  *
00015  * You should have received a copy of the GNU General Public License along with
00016  * this program; if not, write to the Free Software Foundation, Inc.,
00017  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00018  *
00019  */
00020 
00021 #ifndef __VDRTTXTSUBSHOOKS_H
00022 #define __VDRTTXTSUBSHOOKS_H
00023 
00024 #define TTXTSUBSVERSNUM 2
00025 
00026 class cDevice;
00027 class cChannel;
00028 struct tTeletextSubtitlePage;
00029 
00030 class cVDRTtxtsubsHookListener {
00031  public:
00032   cVDRTtxtsubsHookListener(void) {};
00033   virtual ~cVDRTtxtsubsHookListener();
00034 
00035   void HookAttach(void);
00036 
00037   virtual void HideOSD(void) {};
00038   virtual void ShowOSD(void) {};
00039   virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording = true, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0) {};
00040   virtual int ManualPageNumber(const cChannel *channel) { return 0; };
00041 
00042   // used by VDR to call hook listeners
00043   static cVDRTtxtsubsHookListener *Hook(void);
00044 };
00045 
00046 #endif