1/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2/* 3 * Copyright 2017 Couchbase, Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18#include "logger_config.h" 19 20#include <nlohmann/json.hpp> 21 22namespace cb { 23namespace logger { 24 25Config::Config(const nlohmann::json& json) { 26 filename = json.value("filename", filename); 27 buffersize = json.value("buffersize", buffersize); 28 cyclesize = json.value("cyclesize", cyclesize); 29 unit_test = json.value("unit_test", unit_test); 30 console = json.value("console", console); 31} 32 33bool Config::operator==(const Config& other) const { 34 return (this->filename == other.filename) && 35 (this->buffersize == other.buffersize) && 36 (this->cyclesize == other.cyclesize) && 37 (this->unit_test == other.unit_test) && 38 (this->console == other.console); 39} 40 41bool Config::operator!=(const Config& other) const { 42 return !(*this == other); 43} 44 45} // namespace logger 46} // namespace cb 47