init
[open-duckbox-project-sh4:theseus-tdt.git] / tdt / cvs / apps / dvb / libdvbsi++ / include / dvbsi++ / dvb_j_application_descriptor.h
1 /*
2  * $Id: dvb_j_application_descriptor.h,v 1.3 2005/10/29 00:10:08 obi Exp $
3  *
4  * Copyright (C) 2004-2005 Stéphane Esté-Gracias <sestegra@free.fr>
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 __dvb_j_application_descriptor_h__
14 #define __dvb_j_application_descriptor_h__
15
16 #include "descriptor.h"
17
18 class DvbJApplication
19 {
20         protected:
21                 unsigned parameterLength                        : 8;
22                 std::string parameter;
23
24         public:
25                 DvbJApplication(const uint8_t * const buffer);
26
27                 uint8_t getParameterLength(void) const;
28                 const std::string &getParameter(void) const;
29 };
30
31 typedef std::list<DvbJApplication *> DvbJApplicationList;
32 typedef DvbJApplicationList::iterator DvbJApplicationIterator;
33 typedef DvbJApplicationList::const_iterator DvbJApplicationConstIterator;
34
35 class DvbJApplicationDescriptor : public Descriptor
36 {
37         protected:
38                 DvbJApplicationList dvbJApplications;
39
40         public:
41                 DvbJApplicationDescriptor(const uint8_t * const buffer);
42                 ~DvbJApplicationDescriptor(void);
43
44                 const DvbJApplicationList *getDvbJApplications(void) const;
45 };
46
47 #endif /* __dvb_j_application_descriptor_h__ */