From 962596f4abc3790ac0f3f317079a3362210fff8f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 6 Oct 2002 10:25:42 +0200 Subject: Modified channel handling; full DiSEqC support --- diseqc.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 diseqc.h (limited to 'diseqc.h') diff --git a/diseqc.h b/diseqc.h new file mode 100644 index 00000000..f2b0e99c --- /dev/null +++ b/diseqc.h @@ -0,0 +1,60 @@ +/* + * diseqc.h: DiSEqC handling + * + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * + * $Id: diseqc.h 1.1 2002/10/05 13:02:52 kls Exp $ + */ + +#ifndef __DISEQC_H +#define __DISEQC_H + +#include "config.h" + +class cDiseqc : public cListObject { +public: + enum eDiseqcActions { + daNone, + daToneOff, + daToneOn, + daVoltage13, + daVoltage18, + daMiniA, + daMiniB, + daCodes, + }; + enum { MaxDiseqcCodes = 6 }; +private: + int source; + int slof; + char polarization; + int lof; + char *commands; + char *currentAction; + bool parsing; + uchar codes[MaxDiseqcCodes]; + int numCodes; + char *Wait(char *s); + char *Codes(char *s); +public: + cDiseqc(void); + ~cDiseqc(); + bool Parse(const char *s); + eDiseqcActions Execute(bool Start = false); + int Source(void) const { return source; } + int Slof(void) const { return slof; } + char Polarization(void) const { return polarization; } + int Lof(void) const { return lof; } + const char *Commands(void) const { return commands; } + uchar *Codes(int &NumCodes) { NumCodes = numCodes; return numCodes ? codes : NULL; } + }; + +class cDiseqcs : public cConfig { +public: + cDiseqc *Get(int Source, int Frequency, char Polarization); + }; + +extern cDiseqcs Diseqcs; + +#endif //__DISEQC_H -- cgit v1.2.3