| // This file is generated by ErrorSupport_cpp.template. | |
| // Copyright 2016 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| //#include "ErrorSupport.h" | |
| {% for namespace in config.protocol.namespace %} | |
| namespace {{namespace}} { | |
| {% endfor %} | |
| ErrorSupport::ErrorSupport() { } | |
| ErrorSupport::~ErrorSupport() { } | |
| void ErrorSupport::setName(const char* name) | |
| { | |
| setName(String(name)); | |
| } | |
| void ErrorSupport::setName(const String& name) | |
| { | |
| DCHECK(m_path.size()); | |
| m_path[m_path.size() - 1] = name; | |
| } | |
| void ErrorSupport::push() | |
| { | |
| m_path.push_back(String()); | |
| } | |
| void ErrorSupport::pop() | |
| { | |
| m_path.pop_back(); | |
| } | |
| void ErrorSupport::addError(const char* error) | |
| { | |
| addError(String(error)); | |
| } | |
| void ErrorSupport::addError(const String& error) | |
| { | |
| StringBuilder builder; | |
| for (size_t i = 0; i < m_path.size(); ++i) { | |
| if (i) | |
| StringUtil::builderAppend(builder, '.'); | |
| StringUtil::builderAppend(builder, m_path[i]); | |
| } | |
| StringUtil::builderAppend(builder, ": "); | |
| StringUtil::builderAppend(builder, error); | |
| m_errors.push_back(StringUtil::builderToString(builder)); | |
| } | |
| bool ErrorSupport::hasErrors() | |
| { | |
| return !!m_errors.size(); | |
| } | |
| String ErrorSupport::errors() | |
| { | |
| StringBuilder builder; | |
| for (size_t i = 0; i < m_errors.size(); ++i) { | |
| if (i) | |
| StringUtil::builderAppend(builder, "; "); | |
| StringUtil::builderAppend(builder, m_errors[i]); | |
| } | |
| return StringUtil::builderToString(builder); | |
| } | |
| {% for namespace in config.protocol.namespace %} | |
| } // namespace {{namespace}} | |
| {% endfor %} |