aboutsummaryrefslogtreecommitdiffstats
path: root/src/libdash/source/mpd/ContentComponent.h
blob: b59ab6d858226bceaa94272e3ea4a82345977174 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 * ContentComponent.h
 *****************************************************************************
 * Copyright (C) 2012, bitmovin Softwareentwicklung OG, All Rights Reserved
 *
 * Email: libdash-dev@vicky.bitmovin.net
 *
 * This source code and its use and distribution, is subject to the terms
 * and conditions of the applicable license agreement.
 *****************************************************************************/

#ifndef CONTENTCOMPONENT_H_
#define CONTENTCOMPONENT_H_

#include "config.h"

#include "IContentComponent.h"
#include "Descriptor.h"
#include "AbstractMPDElement.h"

namespace dash
{
    namespace mpd
    {
        class ContentComponent : public IContentComponent, public AbstractMPDElement
        {
            public:
                ContentComponent          ();
                virtual ~ContentComponent ();

                const std::vector<IDescriptor *>&   GetAccessibility    ()  const;
                const std::vector<IDescriptor *>&   GetRole             ()  const;
                const std::vector<IDescriptor *>&   GetRating           ()  const;
                const std::vector<IDescriptor *>&   GetViewpoint        ()  const;
                uint32_t                            GetId               ()  const;
                const std::string&                  GetLang             ()  const;
                const std::string&                  GetContentType      ()  const;
                const std::string&                  GetPar              ()  const;

                void    AddAccessibity  (Descriptor *accessibility);
                void    AddRole         (Descriptor *role);
                void    AddRating       (Descriptor *rating);
                void    AddViewpoint    (Descriptor *viewpoint);
                void    SetId           (uint32_t id);
                void    SetLang         (const std::string& lang);
                void    SetContentType  (const std::string& contentType);
                void    SetPar          (const std::string& par);

            private:
                std::vector<Descriptor *>   accessibility;
                std::vector<Descriptor *>   role;
                std::vector<Descriptor *>   rating;
                std::vector<Descriptor *>   viewpoint;
                uint32_t                    id;
                std::string                 lang;
                std::string                 contentType;
                std::string                 par;
        };
    }
}

#endif /* CONTENTCOMPONENT_H_ */