1 /* Copyright (C) 2011-2013 Codership Oy <info@codership.com> */ 2 3 #ifndef _GARB_CONFIG_HPP_ 4 #define _GARB_CONFIG_HPP_ 5 6 #include <string> 7 #include <iostream> 8 9 namespace garb 10 { 11 12 class Config 13 { 14 public: 15 16 static std::string const DEFAULT_SST; // default (empty) SST request 17 18 Config (int argc, char* argv[]); ~Config()19 ~Config () {} 20 daemon() const21 bool daemon() const { return daemon_ ; } name() const22 const std::string& name() const { return name_ ; } address() const23 const std::string& address() const { return address_; } group() const24 const std::string& group() const { return group_ ; } sst() const25 const std::string& sst() const { return sst_ ; } donor() const26 const std::string& donor() const { return donor_ ; } options() const27 const std::string& options() const { return options_; } cfg() const28 const std::string& cfg() const { return cfg_ ; } log() const29 const std::string& log() const { return log_ ; } exit() const30 bool exit() const { return exit_ ; } 31 32 private: 33 34 bool daemon_; 35 std::string name_; 36 std::string address_; 37 std::string group_; 38 std::string sst_; 39 std::string donor_; 40 std::string options_; 41 std::string log_; 42 std::string cfg_; 43 bool exit_; /* Exit on --help or --version */ 44 45 }; /* class Config */ 46 47 std::ostream& operator << (std::ostream&, const Config&); 48 49 } /* namespace garb */ 50 51 #endif /* _GARB_CONFIG_HPP_ */ 52