PolyConfig.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * PolyConfig.h
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 4/15/09.
  6. * Copyright 2009 __MyCompanyName__. All rights reserved.
  7. *
  8. */
  9. // @package Services
  10. #pragma once
  11. #include "PolyString.h"
  12. #include "PolyGlobals.h"
  13. #include <string>
  14. #include <vector>
  15. #include "tinyxml.h"
  16. #include "PolyUtil.h"
  17. using std::string;
  18. using std::vector;
  19. namespace Polycode {
  20. class ConfigEntry {
  21. public:
  22. String key;
  23. String configNamespace;
  24. float numVal;
  25. String stringVal;
  26. bool isString;
  27. };
  28. class _PolyExport Config {
  29. public:
  30. Config();
  31. ~Config();
  32. void loadConfig(String configNamespace, String fileName);
  33. void saveConfig(String configNamespace, String fileName);
  34. ConfigEntry *getEntry(String configNamespace, String key);
  35. void setStringValue(String configNamespace, String key, String value);
  36. void setNumericValue(String configNamespace, String key, float value);
  37. float getNumericValue(String configNamespace, String key);
  38. String getStringValue(String configNamespace, String key);
  39. private:
  40. vector<ConfigEntry*> entries;
  41. };
  42. }