Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
Interface Hierarchy System. More...
#include <bayeux/datatools/ui/ihs.h>
Classes | |
class | node |
A node in the IHS. More... | |
Public Types | |
enum | node_type { NODE_INVALID = -1, NODE_INTERFACE = 0, NODE_COMMAND = 1 } |
Node type. More... | |
typedef std::map< std::string, node > | node_dict_type |
Public Types inherited from datatools::enriched_base | |
enum | export_config_flags { EXPORT_CONFIG_CLEAR = bit_mask::bit00, EXPORT_CONFIG_NAME = bit_mask::bit01, EXPORT_CONFIG_DISPLAY_NAME = bit_mask::bit02, EXPORT_CONFIG_TERSE_DESCRIPTION = bit_mask::bit03, EXPORT_CONFIG_LOGGING_PRIORITY = bit_mask::bit04, EXPORT_CONFIG_AUXILIARIES = bit_mask::bit05, EXPORT_CONFIG_DEFAULT, EXPORT_CONFIG_LAST = EXPORT_CONFIG_AUXILIARIES } |
Flags for export to a container of properties. More... | |
Public Types inherited from datatools::i_tree_dumpable | |
enum | ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 } |
Enumeration for standard output streams. More... | |
Public Member Functions | |
ihs (const std::string &scheme_="") | |
Default constructor. More... | |
virtual | ~ihs () |
Destructor. More... | |
bool | has_scheme () const |
Check is scheme is set. More... | |
void | set_scheme (const std::string &) |
Set the scheme. More... | |
const std::string & | get_scheme () const |
Return the scheme. More... | |
void | add_interface (const std::string &parent_path_, const std::string &interface_name_, const std::string &description_="") |
Add an interface given its parent's full path and its basename. More... | |
void | add_interface (const std::string &parent_path_, base_command_interface *interface_) |
Add a command interface given its parent's full path. More... | |
void | add_interface (const std::string &parent_path_, base_command_interface &interface_) |
Add a command interface given its parent's full path. More... | |
void | remove_interface (const std::string &interface_path_, bool recursive_=false) |
Remove a command interface given its full path. More... | |
void | add_command (const std::string &parent_path_, base_command &cmd_) |
Add a command given its parent's full path. More... | |
void | add_command (const std::string &parent_path_, base_command *cmd_) |
Add a command given its parent's full path. More... | |
void | remove_command (const std::string &command_path_) |
Remove a command given its full path. More... | |
void | remove (const std::string &path_, bool recursive_=false) |
Remove path. More... | |
bool | exists (const std::string &path_) const |
Check if node exists given its full path. More... | |
bool | is_interface (const std::string &path_) const |
Check if a path is a command interface. More... | |
bool | has_interface (const std::string &path_) const |
Check if a path has an associated command interface. More... | |
bool | is_command (const std::string &path_) const |
Check if a path is associated to a command interface. More... | |
void | set_trait (const std::string &path_, const std::string &trait_label_, const bool set_=true) |
Set trait flag. More... | |
void | reset_trait (const std::string &path_, const std::string &trait_label_) |
Reset trait flag. More... | |
bool | is_trait (const std::string &path_, const std::string &trait_label_) const |
Check if a trait id set. More... | |
bool | has_command (const std::string &path_) const |
Check if a path has an associated command. More... | |
base_command & | grab_command (const std::string &path_) |
Return the mutable command at given full path. More... | |
const base_command & | get_command (const std::string &path_) const |
Return the command at given full path. More... | |
base_command_interface & | grab_interface (const std::string &path_) |
Return the mutable command interface at given full path. More... | |
const base_command_interface & | get_interface (const std::string &path_) const |
Return the command interface at given full path. More... | |
bool | has_children (const std::string &path_) const |
Check if path has children. More... | |
void | build_children_paths (const std::string &path_, std::vector< std::string > &children_paths_) const |
Build the list of children paths of a path. More... | |
std::string | get_parent_path (const std::string &path_) const |
Return the parent path of a path. More... | |
bool | has_child (const std::string &path_, const std::string &name_) const |
Check if a given path has a child with given name. More... | |
void | reset () |
Reset. More... | |
std::string | canonical_path (const std::string &path_) const |
virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit=false) const |
Smart print. More... | |
void | build_path (std::set< std::string > &paths_, const uint32_t flags_=0) const |
Build a set of paths. More... | |
Public Member Functions inherited from datatools::enriched_base | |
virtual bool | is_name_valid (const std::string &name_) const |
Check if a name is valid. More... | |
enriched_base () | |
Default constructor. More... | |
enriched_base (const std::string &name_, const std::string &display_name_="", const std::string &terse_description_="", logger::priority lp_=logger::PRIO_FATAL) | |
Constructor. More... | |
virtual | ~enriched_base () |
Destructor. More... | |
bool | has_name () const |
Check if the name is not empty. More... | |
void | set_name (const std::string &name_) |
Set the name. More... | |
enriched_base & | set_name_c (const std::string &name_) |
Set the name. More... | |
const std::string & | get_name () const |
Return the name. More... | |
void | reset_name () |
Reset the name. More... | |
bool | has_display_name () const |
Check if the display name is empty. More... | |
void | set_display_name (const std::string &display_name_) |
Set the display name. More... | |
enriched_base & | set_display_name_c (const std::string &display_name_) |
Set the display name. More... | |
const std::string & | get_display_name () const |
Return the display name. More... | |
bool | has_terse_description () const |
Check if the description is empty. More... | |
void | set_terse_description (const std::string &terse_description_) |
Set the description. More... | |
enriched_base & | set_terse_description_c (const std::string &terse_description_) |
Set the description. More... | |
const std::string & | get_terse_description () const |
Return the description. More... | |
bool | has_auxiliaries () const |
Check if the container of auxiliary properties is empty. More... | |
const datatools::properties & | get_auxiliaries () const |
Return a reference to the non mutable container of auxiliary properties. More... | |
datatools::properties & | grab_auxiliaries () |
Return a reference to the mutable container of auxiliary properties. More... | |
void | reset_auxiliaries () |
Remove all auxiliary properties. More... | |
bool | is_debug () const |
Check the debug status. More... | |
void | set_logging_priority (logger::priority lp_) |
Set the logging priority threshold. More... | |
enriched_base & | set_logging_priority_c (logger::priority lp_) |
Set the logging priority threshold. More... | |
void | set_logging (const std::string &label_) |
Set the logging priority threshold from a string. More... | |
logger::priority | get_logging_priority () const |
Return the logging priority threshold. More... | |
void | clear () |
Clear. More... | |
void | reset () |
Clear. More... | |
void | print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const override |
Smart print. More... | |
void | initialize (const datatools::properties &config_, bool clear_=false) |
Initialization from a container of properties. More... | |
void | export_to_config (datatools::properties &config_, uint32_t flags_=EXPORT_CONFIG_DEFAULT, const std::string &prefix_="") const |
Export to a container of properties. More... | |
Public Member Functions inherited from datatools::i_serializable | |
i_serializable () | |
Default constructor. More... | |
virtual | ~i_serializable () |
Destructor. More... | |
virtual const std::string & | get_serial_tag () const =0 |
Return the serialization string identifier of the class. More... | |
Public Member Functions inherited from datatools::i_tree_dumpable | |
i_tree_dumpable () | |
Constructor. More... | |
virtual | ~i_tree_dumpable () |
Destructor. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const |
Printing with jsonized options. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const |
Printing with jsonized options. More... | |
void | tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const |
void | tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const |
void | smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const |
Static Public Member Functions | |
static std::string | node_type_to_label (node_type) |
Convert node type to label. More... | |
static node_type | label_to_node_type (const std::string &label_) |
Convert label to node type. More... | |
static void | path_remove_scheme (const std::string &path_, std::string &out_) |
static bool | path_has_scheme (const std::string &path_, const std::string &scheme_="") |
Static Public Member Functions inherited from datatools::enriched_base | |
static bool | validate_name (const std::string &candidate_name_) |
Validate a name. More... | |
static logger::priority | default_logging_priority () |
Return the default logging priority threshold. More... | |
static void | init_ocd (datatools::object_configuration_description &) |
OCD support. More... | |
Static Public Member Functions inherited from datatools::i_tree_dumpable | |
static const boost::property_tree::ptree & | empty_options () |
static boost::property_tree::ptree | make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false) |
static std::ostream & | last_skip_tag (std::ostream &out_) |
static std::ostream & | skip_tag (std::ostream &out_) |
static std::ostream & | last_tag (std::ostream &out_) |
static std::ostream & | tag (std::ostream &out_) |
Protected Member Functions | |
node & | _grab_node (const std::string &path_) |
Return the mutable node at given full path. More... | |
const node & | _get_node (const std::string &path_) const |
Return the node at given full path. More... | |
Interface Hierarchy System.
typedef std::map<std::string, node> datatools::ui::ihs::node_dict_type |
datatools::ui::ihs::ihs | ( | const std::string & | scheme_ = "" | ) |
Default constructor.
|
virtual |
Destructor.
Return the node at given full path.
Return the mutable node at given full path.
void datatools::ui::ihs::add_command | ( | const std::string & | parent_path_, |
base_command & | cmd_ | ||
) |
Add a command given its parent's full path.
void datatools::ui::ihs::add_command | ( | const std::string & | parent_path_, |
base_command * | cmd_ | ||
) |
Add a command given its parent's full path.
void datatools::ui::ihs::add_interface | ( | const std::string & | parent_path_, |
const std::string & | interface_name_, | ||
const std::string & | description_ = "" |
||
) |
Add an interface given its parent's full path and its basename.
void datatools::ui::ihs::add_interface | ( | const std::string & | parent_path_, |
base_command_interface * | interface_ | ||
) |
Add a command interface given its parent's full path.
void datatools::ui::ihs::add_interface | ( | const std::string & | parent_path_, |
base_command_interface & | interface_ | ||
) |
Add a command interface given its parent's full path.
void datatools::ui::ihs::build_children_paths | ( | const std::string & | path_, |
std::vector< std::string > & | children_paths_ | ||
) | const |
Build the list of children paths of a path.
void datatools::ui::ihs::build_path | ( | std::set< std::string > & | paths_, |
const uint32_t | flags_ = 0 |
||
) | const |
Build a set of paths.
std::string datatools::ui::ihs::canonical_path | ( | const std::string & | path_ | ) | const |
Build a canonical path : remove leading scheme if any and '//' path leading decorator if any
bool datatools::ui::ihs::exists | ( | const std::string & | path_ | ) | const |
Check if node exists given its full path.
const base_command& datatools::ui::ihs::get_command | ( | const std::string & | path_ | ) | const |
Return the command at given full path.
const base_command_interface& datatools::ui::ihs::get_interface | ( | const std::string & | path_ | ) | const |
Return the command interface at given full path.
std::string datatools::ui::ihs::get_parent_path | ( | const std::string & | path_ | ) | const |
Return the parent path of a path.
const std::string& datatools::ui::ihs::get_scheme | ( | ) | const |
Return the scheme.
base_command& datatools::ui::ihs::grab_command | ( | const std::string & | path_ | ) |
Return the mutable command at given full path.
base_command_interface& datatools::ui::ihs::grab_interface | ( | const std::string & | path_ | ) |
Return the mutable command interface at given full path.
Check if a given path has a child with given name.
bool datatools::ui::ihs::has_children | ( | const std::string & | path_ | ) | const |
Check if path has children.
bool datatools::ui::ihs::has_command | ( | const std::string & | path_ | ) | const |
Check if a path has an associated command.
bool datatools::ui::ihs::has_interface | ( | const std::string & | path_ | ) | const |
Check if a path has an associated command interface.
bool datatools::ui::ihs::has_scheme | ( | ) | const |
Check is scheme is set.
bool datatools::ui::ihs::is_command | ( | const std::string & | path_ | ) | const |
Check if a path is associated to a command interface.
bool datatools::ui::ihs::is_interface | ( | const std::string & | path_ | ) | const |
Check if a path is a command interface.
bool datatools::ui::ihs::is_trait | ( | const std::string & | path_, |
const std::string & | trait_label_ | ||
) | const |
Check if a trait id set.
Convert label to node type.
|
static |
Convert node type to label.
|
static |
Check if a path has a leading scheme. If scheme is given, its specific value is checked.
Examples: "/path/to/resource" -> has no scheme "foo:/path/to/resource" -> has scheme "foo" "bar:/path/to/resource" -> has scheme "bar"
|
static |
Remove the leading scheme from the path
Examples: "/path/to/resource" -> "/path/to/resource" (unchanged) "foo:/path/to/resource" -> "/path/to/resource"
void datatools::ui::ihs::remove | ( | const std::string & | path_, |
bool | recursive_ = false |
||
) |
Remove path.
void datatools::ui::ihs::remove_command | ( | const std::string & | command_path_ | ) |
Remove a command given its full path.
void datatools::ui::ihs::remove_interface | ( | const std::string & | interface_path_, |
bool | recursive_ = false |
||
) |
Remove a command interface given its full path.
void datatools::ui::ihs::reset | ( | ) |
Reset.
void datatools::ui::ihs::reset_trait | ( | const std::string & | path_, |
const std::string & | trait_label_ | ||
) |
Reset trait flag.
void datatools::ui::ihs::set_scheme | ( | const std::string & | ) |
Set the scheme.
void datatools::ui::ihs::set_trait | ( | const std::string & | path_, |
const std::string & | trait_label_, | ||
const bool | set_ = true |
||
) |
Set trait flag.
|
virtual |
Smart print.
Reimplemented from datatools::enriched_base.