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