namespace KMacroExpander

# namespace KMacroExpander | A group of functions providing macro expansion (substitution) in strings, optionally with quoting appropriate for shell execution. More...
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- QString expandMacros ( const QString &str, const QMap<QChar,QString> &map, QChar c = '%' )
- QString expandMacrosShellQuote ( const QString &str, const QMap<QChar,QString> &map, QChar c = '%' )
- QString expandMacros ( const QString &str, const QMap<QString,QString> &map, QChar c = '%' )
- QString expandMacrosShellQuote ( const QString &str, const QMap<QString,QString> &map, QChar c = '%' )
- QString expandMacros ( const QString &str, const QMap<QChar,QStringList> &map, QChar c = '%' )
- QString expandMacros ( const QString &str, const QMap<QString,QStringList> &map, QChar c = '%' )
- QString expandMacrosShellQuote ( const QString &str, const QMap<QChar,QStringList> &map, QChar c = '%' )
- QString expandMacrosShellQuote ( const QString &str, const QMap<QString,QStringList> &map, QChar c = '%' )

## Detailed Description

A group of functions providing macro expansion (substitution) in strings, optionally with quoting appropriate for shell execution.

QString expandMacros ( const QString &str, const QMap<QChar,QString> &map, QChar c = '%' ) | ### expandMacros

Perform safe macro expansion (substitution) on a string. The escape char must be quoted with itself to obtain its literal representation in the resulting string.

\code // Code example QMap map; map.insert('u', "/tmp/myfile.txt"); map.insert('n', "My File"); QString s = "%% Title: %u:%n"; s = KMacroExpander::expandMacros(s, map); // s is now "% Title: /tmp/myfile.txt:My File"; \endcode

Parameters:

str | The string to expand
map | map with substitutions
c | escape char indicating start of macro, or QChar::null if none

Returns: the string with all valid macros expanded

QString expandMacrosShellQuote ( const QString &str, const QMap<QChar,QString> &map, QChar c = '%' ) | ### expandMacrosShellQuote

Perform safe macro expansion (substitution) on a string for use in shell commands. The escape char must be quoted with itself to obtain its literal representation in the resulting string.

\code // Code example QMap map; map.insert('u', "/tmp/myfile.txt"); map.insert('n', "My File"); QString s = "kedit --caption %n %u"; s = KMacroExpander::expandMacrosShellQuote(s, map); // s is now "kedit --caption 'My File' '/tmp/myfile.txt'"; system(QFile::encodeName(s)); \endcode

Parameters:

str | The string to expand
map | map with substitutions
c | escape char indicating start of macro, or QChar::null if none

Returns: the string with all valid macros expanded, or a null string if a shell syntax error was detected in the command

QString expandMacros ( const QString &str, const QMap<QString,QString> &map, QChar c = '%' ) | ### expandMacros

Perform safe macro expansion (substitution) on a string. The escape char must be quoted with itself to obtain its literal representation in the resulting string. Macro names can consist of chars in the range [A-Za-z0-9_]; use braces to delimit macros from following words starting with these chars, or to use other chars for macro names.

\code // Code example QMap map; map.insert("url", "/tmp/myfile.txt"); map.insert("name", "My File"); QString s = "Title: %{url}-%name"; s = KMacroExpander::expandMacros(s, map); // s is now "Title: /tmp/myfile.txt-My File"; \endcode

Parameters:

str | The string to expand
map | map with substitutions
c | escape char indicating start of macro, or QChar::null if none

Returns: the string with all valid macros expanded

QString expandMacrosShellQuote ( const QString &str, const QMap<QString,QString> &map, QChar c = '%' ) | ### expandMacrosShellQuote

Perform safe macro expansion (substitution) on a string for use in shell commands. The escape char must be quoted with itself to obtain its literal representation in the resulting string. Macro names can consist of chars in the range [A-Za-z0-9_]; use braces to delimit macros from following words starting with these chars, or to use other chars for macro names.

\code // Code example QMap map; map.insert("url", "/tmp/myfile.txt"); map.insert("name", "My File"); QString s = "kedit --caption %name %{url}"; s = KMacroExpander::expandMacrosShellQuote(s, map); // s is now "kedit --caption 'My File' '/tmp/myfile.txt'"; system(QFile::encodeName(s)); \endcode

Parameters:

str | The string to expand
map | map with substitutions
c | escape char indicating start of macro, or QChar::null if none

Returns: the string with all valid macros expanded, or a null string if a shell syntax error was detected in the command

QString expandMacros ( const QString &str, const QMap<QChar,QStringList> &map, QChar c = '%' ) | ### expandMacros

Same as above, except that the macros expand to string lists that are simply join(" ")ed together.

QString expandMacros ( const QString &str, const QMap<QString,QStringList> &map, QChar c = '%' ) | ### expandMacros

QString expandMacrosShellQuote ( const QString &str, const QMap<QChar,QStringList> &map, QChar c = '%' ) | ### expandMacrosShellQuote

QString expandMacrosShellQuote ( const QString &str, const QMap<QString,QStringList> &map, QChar c = '%' ) | ### expandMacrosShellQuote

Generated by: root on macppc.ports.openbsd.org on Sat Sep 6 10:36:15 2003, using kdoc 2.0a54.