Main Page   Class Hierarchy   Compound List   File List   Compound Members  

channelscannerregion.h

00001 // -*- c++ -*-
00002 
00003 /*
00004  *
00005  * Copyright (C) 2002 Richard Moore <rich@kde.org>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public License
00018  * along with this library; see the file COPYING.LIB.  If not, write to
00019  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
00021  */
00022 
00023 #ifndef CHANNELSCANREGION_H
00024 #define CHANNELSCANREGION_H
00025 
00026 #include <qdom.h>
00027 
00033 class ChannelScannerRegion
00034 {
00035 public:
00036     enum PictureFormat {
00037         AUTO, NTSC, PAL, SECAM, UNKNOWN
00038     };
00039 
00040     ChannelScannerRegion();
00041     ~ChannelScannerRegion();
00042 
00043     bool load( const QString &filename );
00044 
00048     bool first();
00049 
00053     bool next();
00054 
00055     //
00056     // Information about the region.
00057     //
00058     QString name() const { return regName; }
00059     PictureFormat format() const { return fmt; }
00060 
00061     //
00062     // Information about the current tuning
00063     //
00064     QString id() const { return label; }
00065     unsigned long frequency() const { return freq/16; }
00066 
00067 protected:
00068     bool setup();
00069 
00070     bool readTuning();
00071     bool readInfo();
00072 
00073     unsigned long readTextULong( const QDomElement &elem, const QString &tag );
00074     QString readText( const QDomElement &elem, const QString &tag );
00075     QDomElement readElement( const QDomNode &n, const QString &tag );
00076 
00077 private:
00078     QDomDocument doc;
00079     QDomElement info;
00080     QDomElement tunings;
00081 
00082     // Current region
00083     QString regName;
00084     PictureFormat fmt;
00085 
00086     // Current item
00087     QDomElement elem;
00088     QString label;
00089     unsigned long freq;
00090 };
00091 
00092 #endif // CHANNELSCANREGION_H
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 

Generated at Thu Jan 30 02:56:02 2003 for QtVision by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001