Shaka Player Embedded
character_data.h
Go to the documentation of this file.
1 // Copyright 2016 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef SHAKA_EMBEDDED_JS_DOM_CHARACTER_DATA_H_
16 #define SHAKA_EMBEDDED_JS_DOM_CHARACTER_DATA_H_
17 
18 #include <string>
19 
20 #include "shaka/optional.h"
21 #include "src/js/dom/node.h"
22 
23 namespace shaka {
24 namespace js {
25 namespace dom {
26 
31 class CharacterData : public Node {
32  DECLARE_TYPE_INFO(CharacterData);
33 
34  public:
37  const std::string& data);
38 
39  optional<std::string> NodeValue() const override;
40  optional<std::string> TextContent() const override;
41 
42  size_t length() const {
43  return data_.size();
44  }
45  std::string data() const {
46  return data_;
47  }
48  void SetData(const std::string& data);
49 
50  private:
51  std::string data_;
52 };
53 
54 class CharacterDataFactory : public BackingObjectFactory<CharacterData, Node> {
55  public:
57 };
58 
59 } // namespace dom
60 } // namespace js
61 } // namespace shaka
62 
63 #endif // SHAKA_EMBEDDED_JS_DOM_CHARACTER_DATA_H_
RefPtr< Document > document() const
Definition: node.cc:47
ExceptionCode type
CharacterData(NodeType type, RefPtr< Document > document)
optional< std::string > NodeValue() const override
void SetData(const std::string &data)
std::string data() const
optional< std::string > TextContent() const override