# DataExchange
TKXSBase
MoniTool

# MoniTool_Profile Class Reference

A Profile gives access to a set of options :
- it defines and gives access to options, by names specific
to this Profile, defaulted to basic names of the Options
- it records one or more Configurations, each of one is
identified by a name, and commands for each option a switch
value
- a Configuration may be partial, i.e. concern only a subset
of the complete list of options
- Values are accessed through a Current Configuration, which
name is fixed as ".", which can cumulate several
configurations (especially when they are partial)
It may also bring a "fast" access to values, which has been
formerly computed from current configuration or another given
one. But its up-to-date status regarding existing
configurations is not checked : it may be recomputed or
cleared at any time. If not set, the current configuration
is then taken
.

`#include <MoniTool_Profile.hxx>`

## Public Member Functions

Standard_EXPORT | MoniTool_Profile ()
| Creates an empty Profile, with an empty Current Configuration (named ".") .
Standard_EXPORT void | AddOption (const Handle(MoniTool_Option)&option, const Standard_CString name="")
| Adds an Option, with a Name, by default takes the Name of the Option .
Standard_EXPORT Handle_MoniTool_Option | Option (const Standard_CString name) const
| Returns an Option from its Name. Null Handle if unknown .
Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString | OptionList () const
| Returns the list of Option Names .
Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString | TypedValueList () const
| Returns the list of Option Names which are defined on a TypedValue/Static, i.e. for Basic Type .
Standard_EXPORT void | NewConf (const Standard_CString confname)
| Adds a new Configuration, yet empty, then filled by AddSwitch If <confname> already existed, it is replaced from scratch While AddConf creates new Conf only if it does not yet exist Remark : the Current Configuration "." may not be changed .
Standard_EXPORT void | AddConf (const Standard_CString confname)
| Adds a new Configuration, yet empty, then filled by AddSwitch If <confname> already existed, it is kept as it is While NewConf restrts from scratch anyway Remark : the Current Configuration "." may not be changed .
Standard_EXPORT Standard_Boolean | HasConf (const Standard_CString confname) const
| Tells if <confname> is known as a Configuration .
Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString | ConfList () const
| Returns the list of Configuration Names, including Current "." .
Standard_EXPORT Standard_Boolean | ClearConf (const Standard_CString confname)
| Clears a configuration (does not remove it) A cleared configuration has no effect, it can be reloaded .
Standard_EXPORT Standard_Boolean | AddFromOtherConf (const Standard_CString confname, const Standard_CString otherconf)
| Adds the definitions from the configuration <otherconf> to those of <confname> Returns True if done, False if confname or otherconf are unknown .
Standard_EXPORT Standard_Boolean | SetFromCurrent (const Standard_CString confname)
| Sets the definitions of a configuration from the actual state (current configuration plus current state of options for those which are not recorded in current conf) .
Standard_EXPORT Standard_Boolean | AddSwitch (const Standard_CString confname, const Standard_CString optname, const Standard_CString casename="")
| Adds to the Configuration <confname>, for the option <optname> the command to switch it to <casename> If <casename> is not given, records the actual current CaseName of this Option Returns True if done, False if <confname> or <optname> is unknown, or <casename> not allowed for <optname> .
Standard_EXPORT Standard_Boolean | RemoveSwitch (const Standard_CString confname, const Standard_CString optname)
| Removes from the Configuration <confname>, the switch for the option <optname>. Hence, it will consider the basic default switch for this option Returns True if done or switch was not recorded, False if <confname> or <optname> is unknown .
Standard_EXPORT void | SwitchList (const Standard_CString confname, Handle(TColStd_HSequenceOfAsciiString)&optlist, Handle(TColStd_HSequenceOfAsciiString)&caselist) const
| Returns the list of switches properly concerned by a config : two lists in parallel, <optlist> lists the names of options and for each one, <caselist> gives the case for this config .
Standard_EXPORT Standard_Boolean | SetCurrent (const Standard_CString confname)

Copies (Cumulates) the definition of <confname> to current
Records the current name as the last current setting
Returns True if done, False (and does nothing> if <confname>
is not recorded as a Configuration
If no SetCurrent has been called, the last added one is taken
Remark : SetCurrent is for the Profile : the individual
options are not switched themselves, they are only queried
To switch the options themselves, see below RecordCurrent
Remark : for Options which are listed in the Profile but not
in the current Configuration, their current switch is taken
.

Standard_EXPORT void | RecordCurrent ()
| Records the switches of current configuration in the options themselves .
Standard_EXPORT const TCollection_AsciiString & | Current () const
| Returns the name of last current configuration .
Standard_EXPORT TCollection_AsciiString | CaseName (const Standard_CString optname, const Standard_Boolean proper=Standard_False) const
| Returns the selected case name of option <optname> in current configuration Empty String if <optname> unknown If <proper> is False (D), if <optname> is not recorded in the current configuration, the own current name of the option itself is taken Else, an empty string is returned .
Standard_EXPORT Handle_Standard_Transient | CaseValue (const Standard_CString optname) const
| Returns the Value of the switch selected for option <optname> in current configuration Null Handle if <optname> unknown To be down-casted as needed before use .
Standard_EXPORT Standard_Boolean | Value (const Standard_CString optname, Handle(Standard_Transient)&val) const
| Returns the Value of the switch selected for option <optname> in current configuration Returns True if done, False + Null Handle if <optname> unknown This way of returning a Transient, bound with the Type Control avoids DownCast and ensures the value is directly usable .
Standard_EXPORT void | SetTypedValues (const Standard_Boolean proper=Standard_False, const Standard_CString name="") const

For the Options which are defined with a TypedValue/Static,
takes the value defined in current configuration, and sets
the TypedValue with it
If <proper> is False (D), takes the current value, whatever
it is properly recorded in current configuration or not
If <proper> is True, sets the value only if it is properly
recorded in the current configuration
By default, considers all the Options with a TypedValue
If <name> is given, considers the Options of which the name
begins by <name>
.

Standard_EXPORT void | SetFast (const Standard_CString confname="")
| Recomputes fast access from the definition of a configuration By default, the current one Else, a configuration identified by its name .
Standard_EXPORT void | ClearFast ()
| Clears definitions of fast access .
Standard_EXPORT Standard_Boolean | FastValue (const Standard_CString optname, Handle(Standard_Transient)&val) const
| Gets the value corresponding to Option <optname>, as fast If not defined as fast, check "normal" access by calling Value Returns True if OK (either Fast or normal), False if not found (if not found, <val> is returned Null Handle) .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Member Functions

Standard_EXPORT Handle_Dico_DictionaryOfTransient | Conf (const Standard_CString confname) const
| Internal .

## Private Attributes

Handle_Dico_DictionaryOfTransient | theopts
Handle_Dico_DictionaryOfTransient | theconfs
TCollection_AsciiString | thecurname
Handle_Dico_DictionaryOfTransient | thecurconf
Handle_Dico_DictionaryOfTransient | thefastval

## Constructor & Destructor Documentation

Standard_EXPORT MoniTool_Profile::MoniTool_Profile | ( |  | ) |

## Member Function Documentation

Standard_EXPORT void MoniTool_Profile::AddConf | ( | const Standard_CString | confname | ) |

Standard_EXPORT Standard_Boolean MoniTool_Profile::AddFromOtherConf | ( | const Standard_CString | confname,
|  | const Standard_CString | otherconf
| ) |

Standard_EXPORT void MoniTool_Profile::AddOption | ( | const Handle(MoniTool_Option)& | option,
|  | const Standard_CString | name = `""`
| ) |

Standard_EXPORT Standard_Boolean MoniTool_Profile::AddSwitch | ( | const Standard_CString | confname,
|  | const Standard_CString | optname,
|  | const Standard_CString | casename = `""`
| ) |

Standard_EXPORT TCollection_AsciiString MoniTool_Profile::CaseName | ( | const Standard_CString | optname,
|  | const Standard_Boolean | proper = `Standard_False`
| ) | const

Standard_EXPORT Handle_Standard_Transient MoniTool_Profile::CaseValue | ( | const Standard_CString | optname | ) | const

Standard_EXPORT Standard_Boolean MoniTool_Profile::ClearConf | ( | const Standard_CString | confname | ) |

Standard_EXPORT void MoniTool_Profile::ClearFast | ( |  | ) |

Standard_EXPORT Handle_Dico_DictionaryOfTransient MoniTool_Profile::Conf | ( | const Standard_CString | confname | ) | const`[private]`

Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString MoniTool_Profile::ConfList | ( |  | ) | const

Standard_EXPORT const TCollection_AsciiString& MoniTool_Profile::Current | ( |  | ) | const

Standard_EXPORT Standard_Boolean MoniTool_Profile::FastValue | ( | const Standard_CString | optname,
|  | Handle(Standard_Transient)& | val
| ) | const

Standard_EXPORT const MoniTool_Profile::Handle | ( | Standard_Type |  | ) | const

Standard_EXPORT Standard_Boolean MoniTool_Profile::HasConf | ( | const Standard_CString | confname | ) | const

Standard_EXPORT void MoniTool_Profile::NewConf | ( | const Standard_CString | confname | ) |

Standard_EXPORT Handle_MoniTool_Option MoniTool_Profile::Option | ( | const Standard_CString | name | ) | const

Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString MoniTool_Profile::OptionList | ( |  | ) | const

Standard_EXPORT void MoniTool_Profile::RecordCurrent | ( |  | ) |

Standard_EXPORT Standard_Boolean MoniTool_Profile::RemoveSwitch | ( | const Standard_CString | confname,
|  | const Standard_CString | optname
| ) |

Standard_EXPORT Standard_Boolean MoniTool_Profile::SetCurrent | ( | const Standard_CString | confname | ) |

Standard_EXPORT void MoniTool_Profile::SetFast | ( | const Standard_CString | confname = `""` | ) |

Standard_EXPORT Standard_Boolean MoniTool_Profile::SetFromCurrent | ( | const Standard_CString | confname | ) |

Standard_EXPORT void MoniTool_Profile::SetTypedValues | ( | const Standard_Boolean | proper = `Standard_False`,
|  | const Standard_CString | name = `""`
| ) | const

Standard_EXPORT void MoniTool_Profile::SwitchList | ( | const Standard_CString | confname,
|  | Handle(TColStd_HSequenceOfAsciiString)& | optlist,
|  | Handle(TColStd_HSequenceOfAsciiString)& | caselist
| ) | const

Standard_EXPORT Handle_TColStd_HSequenceOfAsciiString MoniTool_Profile::TypedValueList | ( |  | ) | const

Standard_EXPORT Standard_Boolean MoniTool_Profile::Value | ( | const Standard_CString | optname,
|  | Handle(Standard_Transient)& | val
| ) | const

## Field Documentation

Handle_Dico_DictionaryOfTransient MoniTool_Profile::theconfs `[private]`

Handle_Dico_DictionaryOfTransient MoniTool_Profile::thecurconf `[private]`

TCollection_AsciiString MoniTool_Profile::thecurname `[private]`

Handle_Dico_DictionaryOfTransient MoniTool_Profile::thefastval `[private]`

Handle_Dico_DictionaryOfTransient MoniTool_Profile::theopts `[private]`

The documentation for this class was generated from the following file:

- MoniTool_Profile.hxx