libmpd++
DASH MPD parsing and manipulation library
 
Loading...
Searching...
No Matches
RFC6838ContentType.hh
Go to the documentation of this file.
1#ifndef _BBC_PARSE_DASH_MPD_RFC6838_CONTENT_TYPE_HH_
2#define _BBC_PARSE_DASH_MPD_RFC6838_CONTENT_TYPE_HH_
3/*****************************************************************************
4 * DASH MPD parsing library in C++: RFC6838ContentType class
5 *****************************************************************************
6 * Copyright: (C) 2025 British Broadcasting Corporation
7 * Author(s): Dev Audsin <dev.audsin@bbc.co.uk>
8 * License: LGPLv3
9 *
10 * For full license terms please see the LICENSE file distributed with this
11 * library or refer to: https://www.gnu.org/licenses/lgpl-3.0.txt.
12 */
13#include <optional>
14#include <string>
15
16#include "macros.hh"
17
20// Forward declarations for types only used by pointer or reference
21namespace xmlpp {
22 class Element;
23 class Node;
24}
27
29
36public:
37 RFC6838ContentType(const std::string &value);
39 bool operator==(const RFC6838ContentType &other) const { return m_value == other.m_value; }
40 operator std::string() const { return m_value; }
41 const std::string &value() const { return m_value; }
42 RFC6838ContentType &value(const std::string &val);
43
45protected:
46 friend class AdaptationSet;
47 RFC6838ContentType(xmlpp::Node &node);
48 void setXMLElement(xmlpp::Element &elem) const;
50
51private:
52 void convertString(const std::string &val);
53 std::string m_value;
54};
55
57
58/* vim:ts=8:sts=4:sw=4:expandtab:
59 */
60#endif /*_BBC_PARSE_DASH_MPD_RFC6838_CONTENT_TYPE_HH_*/
AdaptationSet class.
Definition AdaptationSet.hh:60
RFC6838ContentType(const std::string &value)
bool operator==(const RFC6838ContentType &other) const
Definition RFC6838ContentType.hh:39
const std::string & value() const
Definition RFC6838ContentType.hh:41
RFC6838ContentType & value(const std::string &val)
#define LIBMPDPP_NAMESPACE_END
Definition macros.hh:54
#define LIBMPDPP_PUBLIC_API
Used to mark something as part of the public API.
Definition macros.hh:21
#define LIBMPDPP_NAMESPACE_BEGIN
Definition macros.hh:50