kmacroexpander.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef _KMACROEXPANDER_H
00023
#define _KMACROEXPANDER_H
00024
00025
#include <qstringlist.h>
00026
#include <qstring.h>
00027
#include <qmap.h>
00028
00036 class KMacroExpanderBase {
00037
00038
public:
00043
KMacroExpanderBase(
QChar c =
'%' );
00044
00048
virtual ~KMacroExpanderBase();
00049
00055
void expandMacros(
QString &str );
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
bool expandMacrosShellQuote(
QString &str, uint &pos );
00086
00091
bool expandMacrosShellQuote(
QString &str );
00092
00097
void setEscapeChar(
QChar c );
00098
00103
QChar escapeChar()
const;
00104
00105
protected:
00119
virtual int expandPlainMacro(
const QString &str, uint pos,
QStringList &ret );
00120
00135
virtual int expandEscapedMacro(
const QString &str, uint pos,
QStringList &ret );
00136
00137
private:
00138
QChar escapechar;
00139 };
00140
00190 class KWordMacroExpander :
public KMacroExpanderBase {
00191
00192
public:
00197 KWordMacroExpander(
QChar c =
'%' ) :
KMacroExpanderBase( c ) {}
00198
00199
protected:
00200
virtual int expandPlainMacro(
const QString &str, uint pos,
QStringList &ret );
00201
virtual int expandEscapedMacro(
const QString &str, uint pos,
QStringList &ret );
00202
00210
virtual bool expandMacro(
const QString &str,
QStringList &ret ) = 0;
00211 };
00212
00223 class KCharMacroExpander :
public KMacroExpanderBase {
00224
00225
public:
00230 KCharMacroExpander(
QChar c =
'%' ) :
KMacroExpanderBase( c ) {}
00231
00232
protected:
00233
virtual int expandPlainMacro(
const QString &str, uint pos,
QStringList &ret );
00234
virtual int expandEscapedMacro(
const QString &str, uint pos,
QStringList &ret );
00235
00243
virtual bool expandMacro(
QChar chr,
QStringList &ret ) = 0;
00244 };
00245
00251
namespace KMacroExpander {
00272
QString expandMacros(
const QString &str,
const QMap<QChar,QString> &map,
QChar c =
'%' );
00273
00297
QString expandMacrosShellQuote(
const QString &str,
const QMap<QChar,QString> &map,
QChar c =
'%' );
00298
00322
QString expandMacros(
const QString &str,
const QMap<QString,QString> &map,
QChar c =
'%' );
00323
00350
QString expandMacrosShellQuote(
const QString &str,
const QMap<QString,QString> &map,
QChar c =
'%' );
00351
00356
QString expandMacros(
const QString &str,
const QMap<QChar,QStringList> &map,
QChar c =
'%' );
00357
QString expandMacros(
const QString &str,
const QMap<QString,QStringList> &map,
QChar c =
'%' );
00358
00359
00360
00361
00362
00363
00364
00365
QString expandMacrosShellQuote(
const QString &str,
const QMap<QChar,QStringList> &map,
QChar c =
'%' );
00366
QString expandMacrosShellQuote(
const QString &str,
const QMap<QString,QStringList> &map,
QChar c =
'%' );
00367 }
00368
00369
#endif
This file is part of the documentation for kdecore Library Version 3.3.1.