1 |
#ifndef XMLPATCH_H |
2 |
#define XMLPATCH_H |
3 |
|
4 |
#include "xmltools.h" |
5 |
|
6 |
class XmlPatch |
7 |
{ |
8 |
public: |
9 |
XmlPatch(QString patchFilesWildcard, QString forceTargetFilesWildcard="", bool backupsEnabled=true); |
10 |
void readAndProcessPatchFile(); |
11 |
private: |
12 |
QStringList patchFilesToProcess; |
13 |
QString forceTargetFilesWildcard; |
14 |
pugi::xml_document document; |
15 |
pugi::xml_node rootNode; |
16 |
bool backupsEnabled; |
17 |
QString getPatchParameterValue(const QString& line, QString parameter); |
18 |
void insertNodesOperation(const QString &xmlString, XmlFilter &filters, const QString &xPathExpression, const QString &filesWildcard=""); |
19 |
void removeNodesOperation(XmlFilter &filters, const QString &xPathExpression, const QString &filesWildcard=""); |
20 |
void executeCommandOperation(const QString &commandString); |
21 |
void executeCustomCommandOperation(const QString &jsString, const QString &filesWildcard=""); |
22 |
void checkPatchVersion(const QString &file, QTextStream &fileStream); |
23 |
void checkAndProcessValidCommands(QTextStream &fileStream); |
24 |
#ifdef _USE_OLD_JS_ENGINE |
25 |
void displayJsException(QScriptEngine &engine, QScriptValue &engineResult); |
26 |
#else |
27 |
void checkForJsException(QJSValue &engineResult); |
28 |
#endif |
29 |
}; |
30 |
|
31 |
#endif // XMLPATCH_H |