Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

143 Zeilen
3.6 KiB

  1. #include "LogsSorterConfig.h"
  2. #include <QFile>
  3. #include <QDataStream>
  4. CLogsSorterConfig::CLogsSorterConfig()
  5. {
  6. mIsConfigLoaded = false;
  7. }
  8. /*
  9. FILTRE="ZT1"
  10. TYPE="DÉPLACER"
  11. DESCRIPTION="Zone Test 1 Terminus Angrignon"
  12. PREFIXE="ANG"
  13. DESTINATION="D:\Main\Fichiers\JOB\LogsDump\ZT Angrignon"
  14. */
  15. int CLogsSorterConfig::LoadLogsSorterConfig(QString ConfigFileName)
  16. {
  17. QFile *ConfigFile = new QFile(ConfigFileName);
  18. if (!ConfigFile->open(QIODevice::ReadOnly | QIODevice::Text))
  19. {
  20. delete ConfigFile;
  21. return 1;
  22. }
  23. mLogsSorterConfig.mLogsFiltersList.clear();
  24. mLogsSorterConfig.mLogsSourceDirectory.clear();
  25. QDataStream * OutputStream = new QDataStream(ConfigFile);
  26. quint32 MagicNbr;
  27. quint32 FileVersion;
  28. *OutputStream >> MagicNbr;
  29. *OutputStream >> FileVersion;
  30. *OutputStream >> mLogsSorterConfig;
  31. ConfigFile->close();
  32. ConfigFile->close();
  33. delete ConfigFile;
  34. delete OutputStream;
  35. return 0;
  36. // bool finished = false;
  37. // QString string;
  38. // int pos;
  39. // while(!finished)
  40. // {
  41. // string.clear();
  42. // string = ConfigFile->readLine(1024);
  43. // if(string.isEmpty())
  44. // {
  45. // finished = true;
  46. // break;
  47. // }
  48. // if(string.at(0) != '#' && string.at(0) != '\n')
  49. // {
  50. // string.remove("\n"); //remove trailing "\n" characters inserted by QFile.readline
  51. // // string.remove(' '); //remove spaces
  52. // pos = string.indexOf('=');
  53. // if(pos != -1)
  54. // {
  55. // pos += 1;
  56. //// NewFilter.mLogIdentificator = string.mid(pos);
  57. // //Recherche d'une définition de filtre
  58. // if(string.contains("FILTRE"))
  59. // {
  60. // string.remove(' '); //remove spaces
  61. // QStringList Param = string.split('\"',Qt::SkipEmptyParts);
  62. // if(Param.size() >= 2)
  63. // {
  64. // CLogsFilterData NewFilter;
  65. // NewFilter.mLogIdentificator = Param.at(1);
  66. // QString delimiter = ConfigFile->readLine(1024); //doit être '{'
  67. // if(delimiter.isEmpty())
  68. // {
  69. // //fin du fichier!!
  70. // finished = true;
  71. // break;
  72. // }
  73. // else
  74. // {
  75. //// delimiter.
  76. //// if(delimiter == "{")
  77. //// {
  78. //// }
  79. // }
  80. // }
  81. // }
  82. // }
  83. // }
  84. // }
  85. }
  86. int CLogsSorterConfig::SetNewConfig(CLogsSorterConfigData NewConfig)
  87. {
  88. mLogsSorterConfig = NewConfig;
  89. SaveConfigToFile(".\\Config.bin");
  90. return 0;
  91. }
  92. int CLogsSorterConfig::SaveConfigToFile(QString ConfigFileName)
  93. {
  94. QFile *ConfigFile = new QFile(ConfigFileName);
  95. if (!ConfigFile->open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Unbuffered))
  96. {
  97. delete ConfigFile;
  98. return 1;
  99. }
  100. QDataStream * OutputStream = new QDataStream(ConfigFile);
  101. quint32 MagicNbr = 0xBAADCAFE;
  102. quint32 FileVersion = 1;
  103. *OutputStream << MagicNbr;
  104. *OutputStream << FileVersion;
  105. *OutputStream << mLogsSorterConfig;
  106. ConfigFile->close();
  107. delete ConfigFile;
  108. delete OutputStream;
  109. }