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