| // 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 %} |