| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 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 REMOTING_HOST_COMPOSITE_HOST_CONFIG_H_ | |
| 6 #define REMOTING_HOST_COMPOSITE_HOST_CONFIG_H_ | |
| 7 | |
| 8 #include "remoting/host/host_config.h" | |
| 9 | |
| 10 #include "base/compiler_specific.h" | |
| 11 #include "base/memory/scoped_vector.h" | |
| 12 | |
| 13 class FilePath; | |
| 14 | |
| 15 namespace remoting { | |
| 16 | |
| 17 class JsonHostConfig; | |
| 18 | |
| 19 // CompositeConfig reads multiple configuration files and merges them together. | |
| 20 class CompositeHostConfig : public HostConfig { | |
| 21 public: | |
| 22 CompositeHostConfig(); | |
| 23 virtual ~CompositeHostConfig(); | |
| 24 | |
| 25 // Add configuration file specified stored at |path|. When the same parameter | |
| 26 // is present in more than one file priority is given to those that are added | |
| 27 // first. | |
| 28 void AddConfigPath(const FilePath& path); | |
| 29 | |
| 30 // Reads all configuration files. Returns false if it fails to load any of the | |
| 31 // files. | |
| 32 bool Read(); | |
| 33 | |
| 34 // HostConfig interface. | |
| 35 virtual bool GetString(const std::string& path, | |
| 36 std::string* out_value) const OVERRIDE; | |
| 37 virtual bool GetBoolean(const std::string& path, | |
| 38 bool* out_value) const OVERRIDE; | |
| 39 | |
| 40 private: | |
| 41 ScopedVector<JsonHostConfig> configs_; | |
| 42 | |
| 43 DISALLOW_COPY_AND_ASSIGN(CompositeHostConfig); | |
| 44 }; | |
| 45 | |
| 46 } // namespace remoting | |
| 47 | |
| 48 #endif // REMOTING_HOST_COMPOSITE_HOST_CONFIG_H_ | |
| OLD | NEW |