1 |
#ifndef XMLPATCH_H |
2 |
#define XMLPATCH_H |
3 |
|
4 |
#include "xmltools.h" |
5 |
#include "xmlcustomcode.h" |
6 |
#include "optionsparser.h" |
7 |
|
8 |
class XmlPatch |
9 |
{ |
10 |
public: |
11 |
XmlPatch(QString patchFilesWildcard, QString forceTargetFilesWildcard, bool noBackups, bool noVerbose); |
12 |
void readAndProcessPatchFile(); |
13 |
private: |
14 |
QVector<QString> patchFilesToProcess; |
15 |
QString forceTargetFilesWildcard; |
16 |
pugi::xml_document document; |
17 |
pugi::xml_node rootNode; |
18 |
bool backupsEnabled, verboseEnabled; |
19 |
QString getPatchParameterValue(const QString& line, QString parameter); |
20 |
void insertNodesOperation(const QString &xmlString, XmlFilter &filters, const QString &xPathExpression, const QString &filesWildcard=""); |
21 |
void removeNodesOperation(XmlFilter &filters, const QString &xPathExpression, const QString &filesWildcard=""); |
22 |
void executeCommandOperation(const QString &commandString); |
23 |
void executeCustomCommandOperation(const QString &jsString, const QString &filesWildcard=""); |
24 |
void checkPatchVersion(const QString &file, QTextStream &fileStream); |
25 |
void checkAndProcessValidCommands(QTextStream &fileStream); |
26 |
}; |
27 |
|
28 |
#endif // XMLPATCH_H |