1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TOOLS_GN_CONFIG_H_ 6 #define TOOLS_GN_CONFIG_H_ 7 8 #include "base/compiler_specific.h" 9 #include "tools/gn/config_values.h" 10 #include "tools/gn/item.h" 11 12 // Represents a named config in the dependency graph. 13 class Config : public Item { 14 public: 15 Config(const Settings* settings, const Label& label); 16 virtual ~Config(); 17 18 virtual Config* AsConfig() OVERRIDE; 19 virtual const Config* AsConfig() const OVERRIDE; 20 21 ConfigValues& config_values() { return config_values_; } 22 const ConfigValues& config_values() const { return config_values_; } 23 24 private: 25 ConfigValues config_values_; 26 27 DISALLOW_COPY_AND_ASSIGN(Config); 28 }; 29 30 #endif // TOOLS_GN_CONFIG_H_ 31