Shaka Packager SDK
content_protection_element.h
1 // Copyright 2014 Google Inc. All rights reserved.
2 //
3 // Use of this source code is governed by a BSD-style
4 // license that can be found in the LICENSE file or at
5 // https://developers.google.com/open-source/licenses/bsd
6 //
7 // ContentProtectionElement is shared a structure that can be passed to
8 // MPD generator classes to add ContentProtection element in the resulting MPD
9 // file.
10 // http://goo.gl/UrsSlF
11 
12 #ifndef MPD_BASE_CONTENT_PROTECTION_ELEMENT_H_
13 #define MPD_BASE_CONTENT_PROTECTION_ELEMENT_H_
14 
15 #include <map>
16 #include <string>
17 #include <vector>
18 
19 namespace shaka {
20 
21 // This is any (XML) element.
22 struct Element {
23  Element();
24  ~Element();
25  // Name of this element.
26  std::string name;
27  // attributes for this element.
28  std::map<std::string, std::string> attributes;
29  // Content of this element.
30  std::string content;
31  std::vector<Element> subelements;
32 };
33 
39 
40  std::string value; // Will be set for 'value' attribute.
41  std::string scheme_id_uri; // Will be set for 'schemeIdUri' attribute.
42 
43  // Other attributes for this element.
44  std::map<std::string, std::string> additional_attributes;
45 
46  // The subelements that will be in this element.
47  std::vector<Element> subelements;
48 };
49 
50 } // namespace shaka
51 
52 #endif // MPD_BASE_CONTENT_PROTECTION_ELEMENT_H_
All the methods that are virtual are virtual for mocking.