fiftyone-devicedetection-onpremise 4.5.0a25__tar.gz → 4.5.0a27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/PKG-INFO +1 -1
  2. fiftyone_devicedetection_onpremise-4.5.0a27/setup.py +215 -0
  3. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.cpp +30 -7
  4. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.hpp +13 -0
  5. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaDataBuilder.hpp +39 -8
  6. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp +85 -0
  7. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.cpp +19 -8
  8. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.hpp +6 -4
  9. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.cpp +1 -1
  10. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.c +2 -1
  11. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c +4 -3
  12. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h +10 -0
  13. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h +22 -5
  14. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c +3 -3
  15. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.c +48 -17
  16. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.h +1 -0
  17. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.c +1 -1
  18. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.c +131 -16
  19. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.h +55 -4
  20. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.c +3 -3
  21. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.c +62 -1
  22. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.h +38 -16
  23. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/propertyValueType.h +42 -0
  24. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.c +1 -0
  25. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.h +3 -1
  26. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.c +355 -0
  27. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.h +186 -0
  28. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c +112 -0
  29. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h +169 -0
  30. fiftyone_devicedetection_onpremise-4.5.0a25/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c → fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.c +41 -128
  31. fiftyone_devicedetection_onpremise-4.5.0a25/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h → fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.h +11 -161
  32. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.cpp +99 -0
  33. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.hpp +47 -0
  34. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/HeadersContainer.hpp +0 -1
  35. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c +72 -113
  36. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h +60 -1
  37. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.cpp +101 -0
  38. fiftyone_devicedetection_onpremise-4.5.0a25/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.hpp → fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.hpp +1 -1
  39. fiftyone_devicedetection_onpremise-4.5.0a27/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp +61 -0
  40. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise.egg-info/PKG-INFO +1 -1
  41. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise.egg-info/SOURCES.txt +11 -3
  42. fiftyone_devicedetection_onpremise-4.5.0a27/version.txt +1 -0
  43. fiftyone_devicedetection_onpremise-4.5.0a25/setup.py +0 -280
  44. fiftyone_devicedetection_onpremise-4.5.0a25/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Coordinate.i +0 -28
  45. fiftyone_devicedetection_onpremise-4.5.0a25/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/coordinate.h +0 -73
  46. fiftyone_devicedetection_onpremise-4.5.0a25/version.txt +0 -1
  47. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/MANIFEST.in +0 -0
  48. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/pyproject.toml +0 -0
  49. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/setup.cfg +0 -0
  50. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/DeviceDetectionHashEngineModule.py +0 -0
  51. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/__init__.py +0 -0
  52. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/constants.py +0 -0
  53. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.cpp +0 -0
  54. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.hpp +0 -0
  55. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.i +0 -0
  56. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.cpp +0 -0
  57. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.hpp +0 -0
  58. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.i +0 -0
  59. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.cpp +0 -0
  60. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.hpp +0 -0
  61. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.i +0 -0
  62. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/FiftyoneDegrees.hpp +0 -0
  63. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.cpp +0 -0
  64. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.hpp +0 -0
  65. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.i +0 -0
  66. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.cpp +0 -0
  67. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.hpp +0 -0
  68. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.i +0 -0
  69. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.hpp +0 -0
  70. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.i +0 -0
  71. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.cpp +0 -0
  72. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.hpp +0 -0
  73. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.i +0 -0
  74. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.cpp +0 -0
  75. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.hpp +0 -0
  76. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.i +0 -0
  77. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.cpp +0 -0
  78. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.hpp +0 -0
  79. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.i +0 -0
  80. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CsTypes.i +0 -0
  81. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.cpp +0 -0
  82. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.hpp +0 -0
  83. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.i +0 -0
  84. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.i +0 -0
  85. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaData.hpp +0 -0
  86. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.cpp +0 -0
  87. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.hpp +0 -0
  88. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.i +0 -0
  89. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp +0 -0
  90. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp +0 -0
  91. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i +0 -0
  92. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp +0 -0
  93. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp +0 -0
  94. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i +0 -0
  95. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i +0 -0
  96. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MapStringStringIterator.i +0 -0
  97. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.i +0 -0
  98. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.cpp +0 -0
  99. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.hpp +0 -0
  100. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.i +0 -0
  101. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.cpp +0 -0
  102. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.hpp +0 -0
  103. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.i +0 -0
  104. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.cpp +0 -0
  105. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.hpp +0 -0
  106. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.i +0 -0
  107. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.hpp +0 -0
  108. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.i +0 -0
  109. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Types.i +0 -0
  110. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.hpp +0 -0
  111. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.i +0 -0
  112. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.cpp +0 -0
  113. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.hpp +0 -0
  114. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.i +0 -0
  115. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/array.h +0 -0
  116. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.c +0 -0
  117. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.h +0 -0
  118. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.c +0 -0
  119. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.h +0 -0
  120. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.h +0 -0
  121. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/common.h +0 -0
  122. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h +0 -0
  123. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h +0 -0
  124. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c +0 -0
  125. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h +0 -0
  126. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.c +0 -0
  127. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.h +0 -0
  128. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/date.h +0 -0
  129. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.c +0 -0
  130. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.h +0 -0
  131. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptions.h +0 -0
  132. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c +0 -0
  133. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c +0 -0
  134. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h +0 -0
  135. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c +0 -0
  136. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h +0 -0
  137. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.h +0 -0
  138. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.c +0 -0
  139. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.h +0 -0
  140. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.c +0 -0
  141. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.h +0 -0
  142. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.i +0 -0
  143. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.c +0 -0
  144. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.h +0 -0
  145. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.c +0 -0
  146. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.h +0 -0
  147. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.h +0 -0
  148. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pair.h +0 -0
  149. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.c +0 -0
  150. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.h +0 -0
  151. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.c +0 -0
  152. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.h +0 -0
  153. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.h +0 -0
  154. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.c +0 -0
  155. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.h +0 -0
  156. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.c +0 -0
  157. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.h +0 -0
  158. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/snprintf.h +0 -0
  159. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/Base.hpp +0 -0
  160. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EngineTests.hpp +0 -0
  161. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EvidenceTests.hpp +0 -0
  162. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/ExampleTests.hpp +0 -0
  163. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FileHandle.hpp +0 -0
  164. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FixedSizeCollection.hpp +0 -0
  165. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/StringCollection.hpp +0 -0
  166. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/TestStrings.hpp +0 -0
  167. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/VariableSizeCollection.hpp +0 -0
  168. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/pch.h +0 -0
  169. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.c +0 -0
  170. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.h +0 -0
  171. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.c +0 -0
  172. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.h +0 -0
  173. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.c +0 -0
  174. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h +0 -0
  175. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c +0 -0
  176. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h +0 -0
  177. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c +0 -0
  178. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.h +0 -0
  179. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/config-dd.h +0 -0
  180. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.c +0 -0
  181. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.h +0 -0
  182. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/fiftyone.h +0 -0
  183. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.c +0 -0
  184. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.h +0 -0
  185. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.cpp +0 -0
  186. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.hpp +0 -0
  187. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.cpp +0 -0
  188. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.hpp +0 -0
  189. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.cpp +0 -0
  190. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.hpp +0 -0
  191. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.i +0 -0
  192. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.cpp +0 -0
  193. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.hpp +0 -0
  194. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.i +0 -0
  195. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.cpp +0 -0
  196. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.hpp +0 -0
  197. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.cpp +0 -0
  198. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.hpp +0 -0
  199. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.cpp +0 -0
  200. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.hpp +0 -0
  201. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.cpp +0 -0
  202. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.hpp +0 -0
  203. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.cpp +0 -0
  204. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.hpp +0 -0
  205. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.cpp +0 -0
  206. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.hpp +0 -0
  207. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.cpp +0 -0
  208. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.hpp +0 -0
  209. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp +0 -0
  210. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp +0 -0
  211. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i +0 -0
  212. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp +0 -0
  213. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i +0 -0
  214. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp +0 -0
  215. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.hpp +0 -0
  216. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.cpp +0 -0
  217. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.hpp +0 -0
  218. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.cpp +0 -0
  219. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.hpp +0 -0
  220. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.cpp +0 -0
  221. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.hpp +0 -0
  222. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.cpp +0 -0
  223. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.hpp +0 -0
  224. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/fiftyone.h +0 -0
  225. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.c +0 -0
  226. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.h +0 -0
  227. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.c +0 -0
  228. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.h +0 -0
  229. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.i +0 -0
  230. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.c +0 -0
  231. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.h +0 -0
  232. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/transform.h +0 -0
  233. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/cxx/src/transformc.c +0 -0
  234. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/devicedetection_datafile.py +0 -0
  235. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise.py +0 -0
  236. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise_pipelinebuilder.py +0 -0
  237. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx +0 -0
  238. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise/swig_data.py +0 -0
  239. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise.egg-info/dependency_links.txt +0 -0
  240. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise.egg-info/requires.txt +0 -0
  241. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/src/fiftyone_devicedetection_onpremise.egg-info/top_level.txt +0 -0
  242. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/tests/test_automatic_data_file_updates.py +0 -0
  243. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/tests/test_devicedetection.py +0 -0
  244. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/tests/test_properties.py +0 -0
  245. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a27}/tests/test_swig.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiftyone_devicedetection_onpremise
3
- Version: 4.5.0a25
3
+ Version: 4.5.0a27
4
4
  Summary: This project contains 51Degrees Device Detection OnPremise engine that can be used with the 51Degrees Pipeline API. The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)
5
5
  Author: 51Degrees Engineering
6
6
  Author-email: engineering@51degrees.com
@@ -0,0 +1,215 @@
1
+ # *********************************************************************
2
+ # This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3
+ # Copyright 2025 51 Degrees Mobile Experts Limited, Davidson House,
4
+ # Forbury Square, Reading, Berkshire, United Kingdom RG1 3EU.
5
+ #
6
+ # This Original Work is licensed under the European Union Public Licence
7
+ # (EUPL) v.1.2 and is subject to its terms as set out below.
8
+ #
9
+ # If a copy of the EUPL was not distributed with this file, You can obtain
10
+ # one at https://opensource.org/licenses/EUPL-1.2.
11
+ #
12
+ # The 'Compatible Licences' set out in the Appendix to the EUPL (as may be
13
+ # amended by the European Commission) shall be deemed incompatible for
14
+ # the purposes of the Work and the provisions of the compatibility
15
+ # clause in Article 5 of the EUPL shall not apply.
16
+ #
17
+ # If using the Work as, or as part of, a network application, by
18
+ # including the attribution notice(s) required under Article 5 of the EUPL
19
+ # in the end user terms of the application under an appropriate heading,
20
+ # such notice(s) shall fulfill the requirements of that article.
21
+ # *********************************************************************
22
+
23
+ """
24
+ setup.py file for SWIG
25
+ """
26
+ import sys
27
+ import platform
28
+ from setuptools import setup, Extension
29
+ from setuptools.command import develop
30
+ from distutils import sysconfig
31
+ from Cython.Distutils import build_ext
32
+ from glob import glob
33
+ import os
34
+ import io
35
+
36
+ # Read a text file and return the content as a string.
37
+ def read(file_name):
38
+
39
+ """Read a text file and return the content as a string."""
40
+ try:
41
+ with io.open(
42
+ os.path.join(os.path.dirname(__file__), file_name), encoding="utf-8"
43
+ ) as f:
44
+ return f.read().strip()
45
+ except:
46
+ return "0.0.0"
47
+
48
+ def get_version():
49
+
50
+ version = None
51
+
52
+ # Try to get the correct version from platform.
53
+ is_64bits = sys.maxsize > 2**32
54
+ if is_64bits:
55
+ if 'Windows' in platform.system():
56
+ version = "win_64_"
57
+ if 'Linux' in platform.system():
58
+ version = "linux_64_"
59
+ if 'Darwin' in platform.system():
60
+ version = "darwin_64_"
61
+ else:
62
+ if 'Windows' in platform.system():
63
+ version = "win_32_"
64
+ if 'Linux' in platform.system():
65
+ version = "linux_32_"
66
+ if 'Darwin' in platform.system():
67
+ # No 32 bit python on Mac
68
+ version = None
69
+ raise Exception("Sorry, No 32 bit Python on Mac")
70
+
71
+ python_version = str(sys.version_info[0])
72
+ return version + python_version
73
+
74
+ class NoSuffixBuilder(build_ext):
75
+ def get_ext_filename(self, ext_name):
76
+ filename = super().get_ext_filename(ext_name)
77
+ suffix = sysconfig.get_config_var('EXT_SUFFIX')
78
+ if suffix is None:
79
+ suffix = sysconfig.get_config_var('SO')
80
+
81
+ print("**" + filename + "**\r\n")
82
+ print("**" + suffix + "**\r\n")
83
+
84
+ # Get the version from the suffix.
85
+ version = get_version()
86
+
87
+ ext = os.path.splitext(filename)[1]
88
+
89
+ if self.inplace:
90
+ return "./" + filename.replace(suffix, "") + ext
91
+ else:
92
+ return filename.replace(suffix, "") + ext
93
+
94
+ define_macros = []
95
+ extra_compile_args = []
96
+ extra_link_args = []
97
+ # Extra compilation flags for C library
98
+ cflags = []
99
+
100
+ if sys.platform != "win32":
101
+ extra_compile_args.extend([
102
+ '-fPIC',
103
+ '-std=gnu++17',
104
+ '-Wall',
105
+ # '-Werror'
106
+ ])
107
+ cflags.extend([
108
+ '-std=gnu11',
109
+ '-Wall',
110
+ # '-Werror',
111
+ '-Wno-strict-prototypes',
112
+ '-Wno-unused-variable',
113
+ '-Wno-missing-braces',
114
+ '-Wno-strict-aliasing'
115
+ ])
116
+
117
+
118
+ if sys.platform == "win32":
119
+ extra_compile_args.extend([
120
+ '/std:c++17',
121
+ '/D_CRT_SECURE_NO_WARNINGS',
122
+ '/D_UNICODE',
123
+ '/DUNICODE',
124
+ '/W4',
125
+ # '/WX',
126
+ '/wd4127',
127
+ '/wd4456',
128
+ '/wd4701',
129
+ '/wd4703',
130
+ '/wd4706'
131
+ ])
132
+ cflags.extend([
133
+ '/D_CRT_SECURE_NO_WARNINGS',
134
+ '/D_UNICODE',
135
+ '/DUNICODE',
136
+ '/W4',
137
+ # '/WX'
138
+ ])
139
+ extra_link_args.extend([
140
+ '/WX'
141
+ ])
142
+
143
+ if sys.platform == "linux":
144
+ extra_link_args.extend([
145
+ '-latomic'
146
+ ])
147
+
148
+ if sys.platform == 'darwin':
149
+ # This is flaged in CPython
150
+ extra_compile_args.extend([
151
+ '-DGCC_ENABLE_CPP_EXCEPTIONS=YES'
152
+ ])
153
+ if sys.version_info[0] == 3 and sys.version_info[1] == 8:
154
+ extra_compile_args.extend([
155
+ '-Wno-deprecated-declarations'
156
+ ])
157
+ cflags.extend([
158
+ '-Wno-atomic-alignment'
159
+ ])
160
+
161
+ DeviceDetectionHashEngineModule = Extension('_DeviceDetectionHashEngineModule',
162
+ sources=[
163
+ # Python Wrapper
164
+ # "fiftyone_devicedetection_onpremise/hash_python.i"
165
+ "src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx"
166
+ ],
167
+ define_macros=define_macros,
168
+ extra_compile_args=extra_compile_args,
169
+ extra_link_args=extra_link_args,
170
+ language='c++',
171
+ )
172
+
173
+ cpplib = ('cpplib', {
174
+ 'sources': [
175
+ # Common C++
176
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/*.cpp"),
177
+ # Device Detection C++
178
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/*.cpp"),
179
+ # Hash C++
180
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/hash/*.cpp"),
181
+ ],
182
+ 'cflags': extra_compile_args
183
+ })
184
+
185
+ clib = ('clib', {
186
+ 'sources': [
187
+ # Common C
188
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/*.c"),
189
+ # Device Detection C
190
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/*.c"),
191
+ # Hash C
192
+ *glob("src/fiftyone_devicedetection_onpremise/cxx/src/hash/*.c"),
193
+ ],
194
+ 'cflags': cflags
195
+ })
196
+
197
+ setup(
198
+ cmdclass={"build_ext": NoSuffixBuilder},
199
+ name="fiftyone_devicedetection_onpremise",
200
+ version=read("version.txt"),
201
+ author="51Degrees Engineering",
202
+ author_email="engineering@51degrees.com",
203
+ description = """This project contains 51Degrees Device Detection OnPremise engine that can be used with the 51Degrees Pipeline API. The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)""",
204
+ long_description=read("readme.md"),
205
+ long_description_content_type="text/markdown",
206
+ python_requires=">=3.8",
207
+ license="EUPL-1.2",
208
+ libraries=[cpplib, clib],
209
+ ext_package="fiftyone_devicedetection_onpremise",
210
+ ext_modules=[DeviceDetectionHashEngineModule],
211
+ py_modules=["fiftyone_devicedetection_onpremise"],
212
+ packages=["fiftyone_devicedetection_onpremise"],
213
+ package_dir={"": "src"},
214
+ install_requires=["fiftyone_devicedetection_shared", "fiftyone_pipeline_engines_fiftyone"],
215
+ )
@@ -23,6 +23,7 @@
23
23
  #include "EngineBase.hpp"
24
24
 
25
25
  #include "fiftyone.h"
26
+ #include "string_pp.hpp"
26
27
 
27
28
  using namespace FiftyoneDegrees::Common;
28
29
 
@@ -66,7 +67,7 @@ void EngineBase::initOverrideKeys(
66
67
  if (overrideProperties->prefix == true) {
67
68
  key.append("51D_");
68
69
  }
69
- tempKey = STRING(
70
+ tempKey = STRING( // name is string
70
71
  overrideProperties->items[i].available->name.data.ptr);
71
72
  if (tempKey != nullptr) {
72
73
  key.append(tempKey);
@@ -79,7 +80,7 @@ void EngineBase::initOverrideKeys(
79
80
  if (overrideProperties->prefix == true) {
80
81
  key.append("51D_");
81
82
  }
82
- tempKey = STRING(
83
+ tempKey = STRING( // name is string
83
84
  overrideProperties->items[i].available->name.data.ptr);
84
85
  if (tempKey != nullptr) {
85
86
  key.append(tempKey);
@@ -150,17 +151,39 @@ bool EngineBase::getIsThreadSafe() const {
150
151
  return ThreadingGetIsThreadSafe();
151
152
  }
152
153
 
153
- void EngineBase::appendString(
154
+ void EngineBase::appendValue(
154
155
  stringstream &stream,
155
156
  fiftyoneDegreesCollection *strings,
156
- uint32_t offset) const {
157
+ uint32_t offset,
158
+ PropertyValueType storedValueType) const {
157
159
  EXCEPTION_CREATE;
158
160
  Item item;
159
161
  DataReset(&item.data);
160
- String *string = StringGet(strings, offset, &item, exception);
161
- if (string != NULL && EXCEPTION_OKAY) {
162
- stream << STRING(string);
162
+ const StoredBinaryValue * const binaryValue = StoredBinaryValueGet(
163
+ strings,
164
+ offset,
165
+ storedValueType,
166
+ &item,
167
+ exception);
168
+ if (binaryValue != nullptr && EXCEPTION_OKAY) {
169
+ writeStoredBinaryValueToStringStream(
170
+ binaryValue,
171
+ storedValueType,
172
+ stream,
173
+ MAX_DOUBLE_DECIMAL_PLACES,
174
+ exception);
163
175
  COLLECTION_RELEASE(strings, &item);
164
176
  }
165
177
  EXCEPTION_THROW;
178
+ }
179
+
180
+ void EngineBase::appendString(
181
+ stringstream &stream,
182
+ fiftyoneDegreesCollection *strings,
183
+ uint32_t offset) const {
184
+ appendValue(
185
+ stream,
186
+ strings,
187
+ offset,
188
+ FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING); // legacy contract
166
189
  }
@@ -275,6 +275,19 @@ namespace FiftyoneDegrees {
275
275
  /** Keys which should be added to evidence. */
276
276
  vector<string> keys;
277
277
 
278
+ /**
279
+ * Gets a string from a strings collection, and appends to a stream.
280
+ * @param stream to append the string to
281
+ * @param strings collection to get the string from
282
+ * @param offset of the string in the collection
283
+ * @param storedValueType format of byte array representation.
284
+ */
285
+ virtual void appendValue(
286
+ stringstream &stream,
287
+ fiftyoneDegreesCollection *strings,
288
+ uint32_t offset,
289
+ fiftyoneDegreesPropertyValueType storedValueType) const;
290
+
278
291
  /**
279
292
  * Gets a string from a strings collection, and appends to a stream.
280
293
  * @param stream to append the string to
@@ -26,7 +26,10 @@
26
26
  #include <string>
27
27
  #include "Exceptions.hpp"
28
28
  #include "collection.h"
29
+ #include "constants.h"
30
+ #include "storedBinaryValue.h"
29
31
  #include "string.h"
32
+ #include "string_pp.hpp"
30
33
 
31
34
 
32
35
  using namespace FiftyoneDegrees;
@@ -57,23 +60,51 @@ namespace FiftyoneDegrees {
57
60
  static string getString(
58
61
  fiftyoneDegreesCollection *stringsCollection,
59
62
  uint32_t offset) {
63
+ return getValue(
64
+ stringsCollection,
65
+ offset,
66
+ FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING); // legacy contract
67
+ }
68
+
69
+ /**
70
+ * Get a copy of a binary value (as string) from the strings collection at the offset
71
+ * provided.
72
+ * @param stringsCollection pointer to the collection to copy the
73
+ * value (as string) from
74
+ * @param offset offset in the strings collection of the binary value to
75
+ * copy (as string)
76
+ * @param storedValueType format of byte array representation.
77
+ * @return string describing contents of binary value the offset provided
78
+ */
79
+ static string getValue(
80
+ fiftyoneDegreesCollection *stringsCollection,
81
+ uint32_t offset,
82
+ fiftyoneDegreesPropertyValueType storedValueType) {
60
83
  FIFTYONE_DEGREES_EXCEPTION_CREATE;
61
84
  string result;
62
85
  fiftyoneDegreesCollectionItem item;
63
- fiftyoneDegreesString *str;
64
86
  fiftyoneDegreesDataReset(&item.data);
65
- str = fiftyoneDegreesStringGet(
87
+ const fiftyoneDegreesStoredBinaryValue * const binaryValue = fiftyoneDegreesStoredBinaryValueGet(
66
88
  stringsCollection,
67
89
  offset,
90
+ storedValueType,
68
91
  &item,
69
92
  exception);
70
93
  FIFTYONE_DEGREES_EXCEPTION_THROW;
71
- if (str != nullptr) {
72
- result.append(&str->value);
73
- }
74
- FIFTYONE_DEGREES_COLLECTION_RELEASE(
75
- stringsCollection,
76
- &item);
94
+ if (binaryValue != nullptr) {
95
+ std::stringstream stream;
96
+ writeStoredBinaryValueToStringStream(
97
+ binaryValue,
98
+ storedValueType,
99
+ stream,
100
+ FIFTYONE_DEGREES_MAX_DOUBLE_DECIMAL_PLACES,
101
+ exception);
102
+ FIFTYONE_DEGREES_EXCEPTION_THROW;
103
+ result.append(stream.str());
104
+ }
105
+ FIFTYONE_DEGREES_COLLECTION_RELEASE(
106
+ stringsCollection,
107
+ &item);
77
108
  return result;
78
109
  }
79
110
 
@@ -0,0 +1,85 @@
1
+ /* *********************************************************************
2
+ * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3
+ * Copyright 2025 51 Degrees Mobile Experts Limited, Davidson House,
4
+ * Forbury Square, Reading, Berkshire, United Kingdom RG1 3EU.
5
+ *
6
+ * This Original Work is licensed under the European Union Public Licence (EUPL)
7
+ * v.1.2 and is subject to its terms as set out below.
8
+ *
9
+ * If a copy of the EUPL was not distributed with this file, You can obtain
10
+ * one at https://opensource.org/licenses/EUPL-1.2.
11
+ *
12
+ * The 'Compatible Licences' set out in the Appendix to the EUPL (as may be
13
+ * amended by the European Commission) shall be deemed incompatible for
14
+ * the purposes of the Work and the provisions of the compatibility
15
+ * clause in Article 5 of the EUPL shall not apply.
16
+ *
17
+ * If using the Work as, or as part of, a network application, by
18
+ * including the attribution notice(s) required under Article 5 of the EUPL
19
+ * in the end user terms of the application under an appropriate heading,
20
+ * such notice(s) shall fulfill the requirements of that article.
21
+ * ********************************************************************* */
22
+
23
+ #include <cstring>
24
+ #include <string>
25
+ #include <stdexcept>
26
+ #include "memory.h"
27
+ #include "IpAddress.hpp"
28
+ #include "Exceptions.hpp"
29
+ #include "fiftyone.h"
30
+
31
+ using namespace std;
32
+ using namespace FiftyoneDegrees::IpIntelligence;
33
+
34
+ FiftyoneDegrees::IpIntelligence::IpAddress::IpAddress() {
35
+ memset(this->ipAddress, 0, IPV6_LENGTH);
36
+ this->type = IP_TYPE_INVALID;
37
+ }
38
+
39
+ FiftyoneDegrees::IpIntelligence::IpAddress::IpAddress(
40
+ const unsigned char ipAddressData[],
41
+ IpType addressType) {
42
+ init(ipAddressData, addressType);
43
+ }
44
+
45
+ FiftyoneDegrees::IpIntelligence::IpAddress::IpAddress(
46
+ const char * const ipAddressString) {
47
+ ::IpAddress eIpAddress;
48
+ const bool parsed =
49
+ IpAddressParse(
50
+ ipAddressString,
51
+ ipAddressString + strlen(ipAddressString),
52
+ &eIpAddress);
53
+ // Make sure the ip address has been parsed successfully
54
+ if (!parsed) {
55
+ throw Common::StatusCodeException(INCORRECT_IP_ADDRESS_FORMAT);
56
+ }
57
+ // Initialize the IP address object
58
+ init(eIpAddress.value, static_cast<IpType>(eIpAddress.type));
59
+ }
60
+
61
+ void FiftyoneDegrees::IpIntelligence::IpAddress::init(
62
+ const unsigned char * const ipAddressData,
63
+ const IpType addressType) {
64
+ switch (addressType) {
65
+ case IP_TYPE_IPV4:
66
+ memcpy(ipAddress, ipAddressData, IPV4_LENGTH);
67
+ break;
68
+ case IP_TYPE_IPV6:
69
+ memcpy(ipAddress, ipAddressData, IPV6_LENGTH);
70
+ break;
71
+ default:
72
+ memset(ipAddress, 0, IPV6_LENGTH);
73
+ break;
74
+ }
75
+ type = addressType;
76
+ }
77
+
78
+ void FiftyoneDegrees::IpIntelligence::IpAddress::getCopyOfIpAddress(
79
+ unsigned char copy[], const uint32_t size) const {
80
+ const uint32_t dataSize = ((type == IP_TYPE_IPV4)
81
+ ? IPV4_LENGTH
82
+ : IPV6_LENGTH);
83
+ const uint32_t copySize = (size < dataSize) ? size : dataSize;
84
+ memcpy(copy, ipAddress, copySize);
85
+ }
@@ -21,8 +21,12 @@
21
21
  * ********************************************************************* */
22
22
 
23
23
  #include "MetaData.hpp"
24
+
25
+ #include <sstream>
26
+
24
27
  #include "Exceptions.hpp"
25
28
  #include "fiftyone.h"
29
+ #include "string_pp.hpp"
26
30
 
27
31
  using namespace FiftyoneDegrees::Common;
28
32
 
@@ -33,23 +37,30 @@ MetaData::MetaData(shared_ptr<fiftyoneDegreesResourceManager> manager) {
33
37
  MetaData::~MetaData() {
34
38
  }
35
39
 
36
- string MetaData::getString(
40
+ string MetaData::getValue(
37
41
  fiftyoneDegreesCollection *strings,
38
- uint32_t offset) {
42
+ uint32_t offset,
43
+ fiftyoneDegreesPropertyValueType storedValueType) {
39
44
  EXCEPTION_CREATE;
40
- string result;
41
45
  Item item;
42
- String *str;
46
+ StoredBinaryValue *binaryValue;
43
47
  DataReset(&item.data);
44
- str = StringGet(
48
+ binaryValue = StoredBinaryValueGet(
45
49
  strings,
46
50
  offset,
51
+ storedValueType,
47
52
  &item,
48
53
  exception);
49
54
  EXCEPTION_THROW;
50
- if (str != nullptr) {
51
- result.append(&str->value);
55
+ std::stringstream ss;
56
+ if (binaryValue != nullptr) {
57
+ writeStoredBinaryValueToStringStream(
58
+ binaryValue,
59
+ storedValueType,
60
+ ss,
61
+ (uint8_t)ss.precision(),
62
+ exception);
52
63
  }
53
64
  COLLECTION_RELEASE(strings, &item);
54
- return result;
65
+ return ss.str();
55
66
  }
@@ -225,16 +225,18 @@ namespace FiftyoneDegrees {
225
225
  shared_ptr<fiftyoneDegreesResourceManager> manager;
226
226
 
227
227
  /**
228
- * Get a string from the collection and copy it to a C++ string
228
+ * Get a value from the collection and copy it as string to a C++ string
229
229
  * instance. This method releases the collection item before
230
230
  * returning.
231
231
  * @param strings pointer to the collection containing the string
232
232
  * @param offset of the string in the collection
233
- * @return copy of the requested string from the collection
233
+ * @param storedValueType format of byte array representation.
234
+ * @return copy of the requested value from the collection as string
234
235
  */
235
- string getString(
236
+ string getValue(
236
237
  fiftyoneDegreesCollection *strings,
237
- uint32_t offset);
238
+ uint32_t offset,
239
+ fiftyoneDegreesPropertyValueType storedValueType);
238
240
  };
239
241
  }
240
242
  }
@@ -62,7 +62,7 @@ string ResultsBase::getPropertyName(
62
62
  const char *cName;
63
63
  if (requiredPropertyIndex >= 0 &&
64
64
  requiredPropertyIndex < (int)available->count) {
65
- cName = STRING(PropertiesGetNameFromRequiredIndex(
65
+ cName = STRING(PropertiesGetNameFromRequiredIndex( // name is string
66
66
  available,
67
67
  requiredPropertyIndex));
68
68
  if (cName != nullptr) {
@@ -107,6 +107,7 @@ static void releaseCache(Item *item) {
107
107
  if (item->handle != NULL) {
108
108
  CacheRelease((CacheNode*)item->handle);
109
109
  item->handle = NULL;
110
+ DataReset(&item->data); // data is not owned by the item
110
111
  }
111
112
  }
112
113
 
@@ -1051,7 +1052,7 @@ static void* readFileVariable(
1051
1052
 
1052
1053
  // Read the item header minus the last part of the structure
1053
1054
  // that may not always be included with every item.
1054
- if (fread(initial, initialSize, 1, handle->file) == 1) {
1055
+ if ((!initialSize) || (fread(initial, initialSize, 1, handle->file) == 1)) {
1055
1056
 
1056
1057
  // Calculate the number of bytes needed to store the item.
1057
1058
  bytesNeeded = getFinalSize(initial);
@@ -55,11 +55,12 @@ fiftyoneDegreesString* fiftyoneDegreesComponentGetName(
55
55
  fiftyoneDegreesComponent *component,
56
56
  fiftyoneDegreesCollectionItem *item,
57
57
  fiftyoneDegreesException *exception) {
58
- return StringGet(
58
+ return &StoredBinaryValueGet(
59
59
  stringsCollection,
60
- component->nameOffset,
60
+ component->nameOffset,
61
+ FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING, // name is string
61
62
  item,
62
- exception);
63
+ exception)->stringValue;
63
64
  }
64
65
 
65
66
  const fiftyoneDegreesComponentKeyValuePair*
@@ -31,4 +31,14 @@
31
31
  */
32
32
  static const uint8_t fiftyoneDegreesIpAddressStringMaxLength = 50;
33
33
 
34
+ /**
35
+ * The length for the buffer most WKT strings are expected to fit into.
36
+ */
37
+ #define FIFTYONE_DEGREES_REASONABLE_WKT_STRING_LENGTH 128
38
+
39
+ /**
40
+ * Max. number of decimal places to be printed for a double.
41
+ */
42
+ #define FIFTYONE_DEGREES_MAX_DOUBLE_DECIMAL_PLACES 15
43
+
34
44
  #endif //FIFTYONE_DEGREES_CONSTANTS_H