blob: 24322c58ee61fe559b6bc45148e8605b5cf75cb6 [file] [log] [blame]
// Copyright (c) 2013 The Chromium OS 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 "salsa/try_touch_experiment/treatment.h"
using base::SplitString;
using std::string;
using std::vector;
Treatment::Treatment() : is_valid_(false) {}
bool Treatment::valid() const {
return is_valid_;
}
Treatment::Treatment(string const &treatment_string) {
vector<string> property_strings =
SplitString(treatment_string, ",", base::KEEP_WHITESPACE,
base::SPLIT_WANT_ALL);
is_valid_ = true;
for (vector<string>::const_iterator it = property_strings.begin();
it != property_strings.end(); ++it) {
properties_.push_back(Property(*it));
is_valid_ = is_valid_ && properties_.back().valid();
}
}
bool Treatment::Reset() const {
for (vector<Property>::const_iterator it = properties_.begin();
it != properties_.end(); ++it) {
if (!it->Reset())
return false;
}
return true;
}
bool Treatment::Apply() const {
for (vector<Property>::const_iterator it = properties_.begin();
it != properties_.end(); ++it) {
if (!it->Apply())
return false;
}
return true;
}