2 * $Id: cell_frequency_link_descriptor.h,v 1.1 2003-10-17 15:36:38 tmbinc Exp $
4 * (C) 2002-2003 Andreas Oberritter <obi@saftware.de>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 #ifndef __dvb_descriptor_cell_frequency_link_descriptor_h__
23 #define __dvb_descriptor_cell_frequency_link_descriptor_h__
25 #include "descriptor.h"
30 unsigned cellIdExtenstion : 8;
31 unsigned transposerFrequency : 32;
34 SubcellInfo(const uint8_t * const buffer);
36 uint8_t getCellIdExtension(void) const;
37 uint32_t getTransposerFrequency(void) const;
40 typedef std::vector<SubcellInfo *> SubcellInfoVector;
41 typedef SubcellInfoVector::iterator SubcellInfoIterator;
42 typedef SubcellInfoVector::const_iterator SubcellInfoConstIterator;
44 class CellFrequencyLink
48 unsigned frequency : 32;
49 unsigned subcellInfoLoopLength : 8;
50 SubcellInfoVector subcells;
53 CellFrequencyLink(const uint8_t * const buffer);
54 ~CellFrequencyLink(void);
56 uint16_t getCellId(void) const;
57 uint32_t getFrequency(void) const;
58 const SubcellInfoVector *getSubcells(void) const;
62 typedef std::vector<CellFrequencyLink *> CellFrequencyLinkVector;
63 typedef CellFrequencyLinkVector::iterator CellFrequencyLinkIterator;
64 typedef CellFrequencyLinkVector::const_iterator CellFrequencyLinkConstIterator;
66 class CellFrequencyLinkDescriptor : public Descriptor
69 CellFrequencyLinkVector cellFrequencyLinks;
72 CellFrequencyLinkDescriptor(const uint8_t * const buffer);
73 ~CellFrequencyLinkDescriptor(void);
75 const CellFrequencyLinkVector *getCellFrequencyLinks(void) const;
78 #endif /* __dvb_descriptor_cell_frequency_link_descriptor_h__ */