OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 //#include "Object.h" | 5 //#include "Object.h" |
6 | 6 |
7 {% for namespace in config.protocol.namespace %} | 7 {% for namespace in config.protocol.namespace %} |
8 namespace {{namespace}} { | 8 namespace {{namespace}} { |
9 {% endfor %} | 9 {% endfor %} |
10 | 10 |
11 std::unique_ptr<Object> Object::parse(protocol::Value* value, ErrorSupport* erro
rs) | 11 std::unique_ptr<Object> Object::parse(protocol::Value* value, ErrorSupport* erro
rs) |
12 { | 12 { |
13 protocol::DictionaryValue* object = DictionaryValue::cast(value); | 13 protocol::DictionaryValue* dictionary = DictionaryValue::cast(value); |
14 if (!object) { | 14 if (!dictionary) { |
15 errors->addError("object expected"); | 15 errors->addError("object expected"); |
16 return nullptr; | 16 return nullptr; |
17 } | 17 } |
18 return wrapUnique(new Object(wrapUnique(static_cast<DictionaryValue*>(object
->clone().release())))); | 18 dictionary = static_cast<protocol::DictionaryValue*>(dictionary->clone().rel
ease()); |
| 19 return std::unique_ptr<Object>(new Object(std::unique_ptr<DictionaryValue>(d
ictionary))); |
19 } | 20 } |
20 | 21 |
21 std::unique_ptr<protocol::DictionaryValue> Object::serialize() const | 22 std::unique_ptr<protocol::DictionaryValue> Object::serialize() const |
22 { | 23 { |
23 return DictionaryValue::cast(m_object->clone()); | 24 return DictionaryValue::cast(m_object->clone()); |
24 } | 25 } |
25 | 26 |
26 std::unique_ptr<Object> Object::clone() const | 27 std::unique_ptr<Object> Object::clone() const |
27 { | 28 { |
28 return wrapUnique(new Object(DictionaryValue::cast(m_object->clone()))); | 29 return std::unique_ptr<Object>(new Object(DictionaryValue::cast(m_object->cl
one()))); |
29 } | 30 } |
30 | 31 |
31 Object::Object(std::unique_ptr<protocol::DictionaryValue> object) : m_object(std
::move(object)) { } | 32 Object::Object(std::unique_ptr<protocol::DictionaryValue> object) : m_object(std
::move(object)) { } |
32 | 33 |
33 Object::~Object() { } | 34 Object::~Object() { } |
34 | 35 |
35 {% for namespace in config.protocol.namespace %} | 36 {% for namespace in config.protocol.namespace %} |
36 } // namespace {{namespace}} | 37 } // namespace {{namespace}} |
37 {% endfor %} | 38 {% endfor %} |
OLD | NEW |