Add documentation for TempConfig. (#2221)

This commit is contained in:
karliss 2020-05-31 09:20:54 +03:00 committed by GitHub
parent 5dcf53dff6
commit 1e9b82839e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,23 @@
#include <QString>
#include <QVariant>
/**
* @brief Class for temporary modifying r2 `e` configuration.
*
* Modified values will be restored at the end of scope. This is useful when using a r2 command that can only
* be configured using `e` configuration and doesn't accept arguments. TempConfig::set calls can be chained.
* If a command or r2 method accepts arguments directly it is preferred to use those instead of temporary modifying
* global configuration.
*
* \code
* {
* TempConfig tempConfig;
* tempConfig.set("asm.arch", "x86").set("asm.comments", false);
* return Core()->cmdRaw("pd");
* // config automatically restored at the end of scope
* }
* \endcode
*/
class TempConfig
{
public:
@ -16,6 +33,8 @@ public:
TempConfig &set(const QString &key, bool value);
private:
TempConfig(const TempConfig&) = delete;
TempConfig &operator=(const TempConfig&) = delete;
QMap<QString, QVariant> resetValues;
};