#include <switch_base.h>
Provides an abstract base class to create new debugging and tracing switches.
- Namespace
- xtd::diagnostics
- Library
- xtd.core
- Notes to implementers
- If you need trace levels, or mechanisms for setting switch levels different from those provided by boolean_switch, source_switch and trace_switch, you can inherit from switch_base. When inheriting from this class, you must implement the switch_setting method.
Inherits xtd::object.
Inherited by xtd::diagnostics::boolean_switch, xtd::diagnostics::source_switch, and xtd::diagnostics::trace_switch.
|
std::map< xtd::ustring, xtd::ustring > & | attributes () |
| Gets the custom switch attributes.
|
|
const std::map< xtd::ustring, xtd::ustring > & | attributes () const |
| Gets the custom switch attributes @rettur nA StringDictionary containing the case-insensitive custom attributes for the trace switch.
|
|
void | attributes (const std::map< xtd::ustring, xtd::ustring > &attributes) |
| Sets the custom switch attributes.
|
|
const xtd::ustring & | description () const |
| Gets a description of the switch.
|
|
const xtd::ustring & | display_name () const |
| Gets a name used to identify the switch.
|
|
| object ()=default |
| Create a new instance of the ultimate base class object.
|
|
virtual bool | equals (const object &obj) const noexcept |
| Determines whether the specified object is equal to the current object.
|
|
virtual size_t | get_hash_code () const noexcept |
| Serves as a hash function for a particular type.
|
|
template<typename object_t > |
std::unique_ptr< object_t > | memberwise_clone () const |
| Gets the type of the current instance.
|
|
virtual xtd::ustring | to_string () const noexcept |
| Returns a std::string that represents the current object.
|
|
|
static bool | equals (const object &object_a, const object &object_b) noexcept |
| Determines whether the specified object instances are considered equal.
|
|
static bool | reference_equals (const object &object_a, const object &object_b) noexcept |
| Determines whether the specified object instances are the same instance.
|
|
◆ switch_base() [1/2]
Initializes a new instance of the switch_base class.
- Parameters
-
display_name | The name of the switch. |
description | The description for the switch. |
- Notes to inheritors
- To set the value of the switch, set the switch_setting property in the constructor.
◆ switch_base() [2/2]
Initializes a new instance of the switch_base class.
- Parameters
-
display_name | The name of the switch. |
description | The description for the switch. |
default_switch_value | The default value for the switch. |
◆ attributes() [1/3]
Gets the custom switch attributes.
- Returns
- A StringDictionary containing the case-insensitive custom attributes for the trace switch.
◆ attributes() [2/3]
Gets the custom switch attributes @rettur nA StringDictionary containing the case-insensitive custom attributes for the trace switch.
◆ attributes() [3/3]
Sets the custom switch attributes.
- Parameters
-
attributes | A StringDictionary containing the case-insensitive custom attributes for the trace switch. |
◆ description()
const xtd::ustring & xtd::diagnostics::switch_base::description |
( |
| ) |
const |
Gets a description of the switch.
- Returns
- The description of the switch. The default value is an empty string ("").
◆ display_name()
const xtd::ustring & xtd::diagnostics::switch_base::display_name |
( |
| ) |
const |
Gets a name used to identify the switch.
- Returns
- The name used to identify the switch. The default value is an empty string ("").
◆ get_supported_attributes()
virtual std::vector< xtd::ustring > xtd::diagnostics::switch_base::get_supported_attributes |
( |
| ) |
const |
|
protectedvirtual |
Gets the custom attributes supported by the switch.
- Returns
- A string array that contains the names of the custom attributes supported by the switch, or null if there no custom attributes are supported.
- Notes to Inheritors
- When inheriting from the switch_base class or a derived class, you can override the get_supported_attributes() method to provide custom attributes for your class.
◆ on_switch_setting_changed()
virtual void xtd::diagnostics::switch_base::on_switch_setting_changed |
( |
| ) |
|
|
protectedvirtual |
◆ on_value_changed()
virtual void xtd::diagnostics::switch_base::on_value_changed |
( |
| ) |
|
|
protectedvirtual |
◆ switch_setting() [1/2]
int32_t xtd::diagnostics::switch_base::switch_setting |
( |
| ) |
const |
|
protected |
Gets the current setting for this switch.
- Returns
- The current setting for this switch. The default is zero.
◆ switch_setting() [2/2]
void xtd::diagnostics::switch_base::switch_setting |
( |
int32_t |
switch_setting | ) |
|
|
protected |
Sets the current setting for this switch.
- Parameters
-
switch_setting | The current setting for this switch. The default is zero. |
◆ value() [1/2]
const xtd::ustring & xtd::diagnostics::switch_base::value |
( |
| ) |
const |
|
protected |
Gets the value of the switch.
- Returns
- A string representing the value of the switch.
- Notes to inheritors
- You should override the on_value_changed() method and provide a conversion operation that sets the appropriate switch_setting value for your switch.
◆ value() [2/2]
void xtd::diagnostics::switch_base::value |
( |
const xtd::ustring & |
value | ) |
|
|
protected |
Sets the value of the switch.
- Parameters
-
value | A string representing the value of the switch. |
- Notes to inheritors
- You should override the on_value_changed() method and provide a conversion operation that sets the appropriate switch_setting value for your switch.
The documentation for this class was generated from the following file: