ConfigFile.ih
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
14 /** \file
15  \brief ConfigFile internal header */
16 
17 #ifndef IH_SENF_Scheduler_Console_ConfigFile_
18 #define IH_SENF_Scheduler_Console_ConfigFile_ 1
19 
20 // Custom includes
21 
22 //-/////////////////////////////////////////////////////////////////////////////////////////////////
23 
24 namespace senf {
25 namespace console {
26 namespace detail {
27 
28 #ifndef DOXYGEN
29 
30  class ConfigFileSource : public ConfigSource
31  {
32  public:
33  typedef boost::intrusive_ptr<ConfigFileSource> ptr;
34 
35  static ptr create(std::string const & filename);
36 
37  ptr ignoreMissing();
38 
39  private:
40  ConfigFileSource(std::string const & filename);
41 
42  virtual void v_parse(RestrictedExecutor & executor);
43 
44  std::string filename_;
45  bool ignoreMissing_;
46  CommandParser parser_;
47  };
48 
49 #endif
50 
51 }}}
52 
53 //-/////////////////////////////////////////////////////////////////////////////////////////////////
54 #endif
55 
56 
57 // Local Variables:
58 // mode: c++
59 // fill-column: 100
60 // comment-column: 40
61 // c-file-style: "senf"
62 // indent-tabs-mode: nil
63 // ispell-local-dictionary: "american"
64 // compile-command: "scons -u test"
65 // End: