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.2.