init
[open-duckbox-project-sh4:theseus-tdt.git] / tdt / cvs / apps / dvb / libdvbsi++ / include / dvbsi++ / multilingual_network_name_descriptor.h
1 /*
2  * $Id: multilingual_network_name_descriptor.h,v 1.3 2005/10/29 00:10:08 obi Exp $
3  *
4  * Copyright (C) 2002-2005 Andreas Oberritter <obi@saftware.de>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License version 2.1 as published by the Free Software Foundation.
9  *
10  * See the file 'COPYING' in the top level directory for details.
11  */
12
13 #ifndef __multilingual_network_name_descriptor_h__
14 #define __multilingual_network_name_descriptor_h__
15
16 #include "descriptor.h"
17
18 class MultilingualNetworkName
19 {
20         protected:
21                 std::string iso639LanguageCode;
22                 unsigned networkNameLength                      : 8;
23                 std::string networkName;
24
25         public:
26                 MultilingualNetworkName(const uint8_t * const buffer);
27
28                 const std::string &getIso639LanguageCode(void) const;
29                 const std::string &getNetworkName(void) const;
30 };
31
32 typedef std::list<MultilingualNetworkName *> MultilingualNetworkNameList;
33 typedef MultilingualNetworkNameList::iterator MultilingualNetworkNameIterator;
34 typedef MultilingualNetworkNameList::const_iterator MultilingualNetworkNameConstIterator;
35
36 class MultilingualNetworkNameDescriptor : public Descriptor
37 {
38         protected:
39                 MultilingualNetworkNameList multilingualNetworkNames;
40
41         public:
42                 MultilingualNetworkNameDescriptor(const uint8_t * const buffer);
43                 ~MultilingualNetworkNameDescriptor(void);
44
45                 const MultilingualNetworkNameList *getMultilingualNetworkNames(void) const;
46 };
47
48 #endif /* __multilingual_network_name_descriptor_h__ */