Bayeux  3.4.1
Core Foundation library for SuperNEMO
sensitive.h
Go to the documentation of this file.
1 /* Author(s): Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-03-13
4  * Last modified: 2010-03-13
5  *
6  * License:
7  *
8  * Description:
9  *
10  * Utilities for sensitive reference.
11  *
12  * History:
13  *
14  */
15 
16 #ifndef GEOMTOOLS_SENSITIVE_H
17 #define GEOMTOOLS_SENSITIVE_H 1
18 
19 // Standard library:
20 #include <string>
21 
22 // Third party:
23 // - Bayeux/datatools:
24 #include <datatools/properties.h>
25 
26 namespace geomtools {
27 
28  class sensitive
29  {
30  public:
31 
32  struct constants
33  {
34  std::string SENSITIVE_PREFIX;
36 
37  constants ();
38 
39  static const constants & instance ();
40 
41  };
42 
43  static std::string make_key (const std::string & flag_);
44 
45  static void extract (const datatools::properties & source_,
46  datatools::properties & target_);
47 
48  static bool has_flag (const datatools::properties & config_,
49  const std::string & flag_);
50 
51  static bool has_key (const datatools::properties & config_,
52  const std::string & key_);
53 
54  static bool is_sensitive (const datatools::properties & config_);
55 
56  static std::string get_sensitive_category (const datatools::properties & config_);
57 
58  static void set_sensitive_category (datatools::properties & config_,
59  const std::string & cat_name_);
60 
61  };
62 
63 } // end of namespace geomtools
64 
65 #endif // GEOMTOOLS_SENSITIVE_H
66 
67 /*
68 ** Local Variables: --
69 ** mode: c++ --
70 ** c-file-style: "gnu" --
71 ** tab-width: 2 --
72 ** End: --
73 */
static void extract(const datatools::properties &source_, datatools::properties &target_)
static bool has_key(const datatools::properties &config_, const std::string &key_)
static std::string make_key(const std::string &flag_)
static void set_sensitive_category(datatools::properties &config_, const std::string &cat_name_)
Definition: sensitive.h:32
static bool has_flag(const datatools::properties &config_, const std::string &flag_)
Definition: sensitive.h:28
std::string SENSITIVE_CATEGORY_PROPERTY
Definition: sensitive.h:35
std::string SENSITIVE_PREFIX
Definition: sensitive.h:34
static bool is_sensitive(const datatools::properties &config_)
static std::string get_sensitive_category(const datatools::properties &config_)
static const constants & instance()
Top-level namespace of the Bayeux/geomtools module library.
Definition: electromagnetic_field_manager.h:39
A dictionary of arbitrary properties.
Definition: properties.h:125