// Copyright 2014 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 "components/update_client/protocol_parser.h" #include "base/strings/stringprintf.h" namespace update_client { const char ProtocolParser::Result::kCohort[] = "cohort"; const char ProtocolParser::Result::kCohortHint[] = "cohorthint"; const char ProtocolParser::Result::kCohortName[] = "cohortname"; ProtocolParser::ProtocolParser() = default; ProtocolParser::~ProtocolParser() = default; ProtocolParser::Results::Results() = default; ProtocolParser::Results::Results(const Results& other) = default; ProtocolParser::Results::~Results() = default; ProtocolParser::Result::Result() = default; ProtocolParser::Result::Result(const Result& other) = default; ProtocolParser::Result::~Result() = default; ProtocolParser::Result::Manifest::Manifest() = default; ProtocolParser::Result::Manifest::Manifest(const Manifest& other) = default; ProtocolParser::Result::Manifest::~Manifest() = default; ProtocolParser::Result::Manifest::Package::Package() = default; ProtocolParser::Result::Manifest::Package::Package(const Package& other) = default; ProtocolParser::Result::Manifest::Package::~Package() = default; void ProtocolParser::ParseError(const char* details, ...) { va_list args; va_start(args, details); if (!errors_.empty()) { errors_ += "\r\n"; } base::StringAppendV(&errors_, details, args); va_end(args); } bool ProtocolParser::Parse(const std::string& response) { results_.daystart_elapsed_seconds = kNoDaystart; results_.daystart_elapsed_days = kNoDaystart; results_.list.clear(); errors_.clear(); return DoParse(response, &results_); } } // namespace update_client