fiftyone-devicedetection-onpremise 4.5.0a25__tar.gz → 4.5.0a26__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 (239) hide show
  1. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/PKG-INFO +1 -1
  2. fiftyone_devicedetection_onpremise-4.5.0a26/setup.py +215 -0
  3. fiftyone_devicedetection_onpremise-4.5.0a26/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp +85 -0
  4. fiftyone_devicedetection_onpremise-4.5.0a26/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/coordinate.c +41 -0
  5. fiftyone_devicedetection_onpremise-4.5.0a26/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.cpp +88 -0
  6. fiftyone_devicedetection_onpremise-4.5.0a26/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp +61 -0
  7. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise.egg-info/PKG-INFO +1 -1
  8. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise.egg-info/SOURCES.txt +4 -0
  9. fiftyone_devicedetection_onpremise-4.5.0a26/version.txt +1 -0
  10. fiftyone_devicedetection_onpremise-4.5.0a25/setup.py +0 -280
  11. fiftyone_devicedetection_onpremise-4.5.0a25/version.txt +0 -1
  12. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/MANIFEST.in +0 -0
  13. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/pyproject.toml +0 -0
  14. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/setup.cfg +0 -0
  15. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/DeviceDetectionHashEngineModule.py +0 -0
  16. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/__init__.py +0 -0
  17. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/constants.py +0 -0
  18. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.cpp +0 -0
  19. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.hpp +0 -0
  20. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.i +0 -0
  21. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.cpp +0 -0
  22. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.hpp +0 -0
  23. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.i +0 -0
  24. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.cpp +0 -0
  25. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.hpp +0 -0
  26. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.i +0 -0
  27. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/FiftyoneDegrees.hpp +0 -0
  28. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.cpp +0 -0
  29. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.hpp +0 -0
  30. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.i +0 -0
  31. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.cpp +0 -0
  32. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.hpp +0 -0
  33. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.i +0 -0
  34. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.hpp +0 -0
  35. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.i +0 -0
  36. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.cpp +0 -0
  37. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.hpp +0 -0
  38. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.i +0 -0
  39. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.cpp +0 -0
  40. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.hpp +0 -0
  41. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.i +0 -0
  42. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.cpp +0 -0
  43. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.hpp +0 -0
  44. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.i +0 -0
  45. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Coordinate.i +0 -0
  46. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CsTypes.i +0 -0
  47. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.cpp +0 -0
  48. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.hpp +0 -0
  49. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.i +0 -0
  50. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.cpp +0 -0
  51. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.hpp +0 -0
  52. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.i +0 -0
  53. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaData.hpp +0 -0
  54. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaDataBuilder.hpp +0 -0
  55. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.cpp +0 -0
  56. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.hpp +0 -0
  57. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.i +0 -0
  58. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp +0 -0
  59. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp +0 -0
  60. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i +0 -0
  61. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp +0 -0
  62. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp +0 -0
  63. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i +0 -0
  64. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i +0 -0
  65. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MapStringStringIterator.i +0 -0
  66. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.cpp +0 -0
  67. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.hpp +0 -0
  68. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.i +0 -0
  69. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.cpp +0 -0
  70. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.hpp +0 -0
  71. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.i +0 -0
  72. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.cpp +0 -0
  73. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.hpp +0 -0
  74. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.i +0 -0
  75. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.cpp +0 -0
  76. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.hpp +0 -0
  77. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.i +0 -0
  78. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.cpp +0 -0
  79. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.hpp +0 -0
  80. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.i +0 -0
  81. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Types.i +0 -0
  82. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.hpp +0 -0
  83. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.i +0 -0
  84. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.cpp +0 -0
  85. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.hpp +0 -0
  86. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.i +0 -0
  87. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/array.h +0 -0
  88. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.c +0 -0
  89. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.h +0 -0
  90. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.c +0 -0
  91. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.h +0 -0
  92. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.c +0 -0
  93. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.h +0 -0
  94. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/common.h +0 -0
  95. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c +0 -0
  96. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h +0 -0
  97. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h +0 -0
  98. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h +0 -0
  99. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/coordinate.h +0 -0
  100. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c +0 -0
  101. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h +0 -0
  102. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.c +0 -0
  103. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.h +0 -0
  104. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/date.h +0 -0
  105. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.c +0 -0
  106. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.h +0 -0
  107. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptions.h +0 -0
  108. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c +0 -0
  109. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h +0 -0
  110. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c +0 -0
  111. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h +0 -0
  112. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c +0 -0
  113. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h +0 -0
  114. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c +0 -0
  115. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.h +0 -0
  116. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.c +0 -0
  117. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.h +0 -0
  118. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.c +0 -0
  119. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.h +0 -0
  120. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.i +0 -0
  121. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.c +0 -0
  122. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.h +0 -0
  123. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.c +0 -0
  124. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.h +0 -0
  125. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.c +0 -0
  126. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.h +0 -0
  127. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.c +0 -0
  128. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.h +0 -0
  129. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pair.h +0 -0
  130. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.c +0 -0
  131. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.h +0 -0
  132. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.c +0 -0
  133. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.h +0 -0
  134. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.c +0 -0
  135. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.h +0 -0
  136. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.c +0 -0
  137. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.h +0 -0
  138. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.c +0 -0
  139. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.h +0 -0
  140. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.c +0 -0
  141. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.h +0 -0
  142. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.c +0 -0
  143. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.h +0 -0
  144. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/snprintf.h +0 -0
  145. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.c +0 -0
  146. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.h +0 -0
  147. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c +0 -0
  148. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h +0 -0
  149. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/Base.hpp +0 -0
  150. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EngineTests.hpp +0 -0
  151. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EvidenceTests.hpp +0 -0
  152. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/ExampleTests.hpp +0 -0
  153. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FileHandle.hpp +0 -0
  154. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FixedSizeCollection.hpp +0 -0
  155. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/HeadersContainer.hpp +0 -0
  156. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/StringCollection.hpp +0 -0
  157. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/TestStrings.hpp +0 -0
  158. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/VariableSizeCollection.hpp +0 -0
  159. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/pch.h +0 -0
  160. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.c +0 -0
  161. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.h +0 -0
  162. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.c +0 -0
  163. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.h +0 -0
  164. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.c +0 -0
  165. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h +0 -0
  166. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c +0 -0
  167. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h +0 -0
  168. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c +0 -0
  169. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h +0 -0
  170. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.hpp +0 -0
  171. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c +0 -0
  172. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.h +0 -0
  173. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/config-dd.h +0 -0
  174. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.c +0 -0
  175. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.h +0 -0
  176. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/fiftyone.h +0 -0
  177. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.c +0 -0
  178. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.h +0 -0
  179. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.cpp +0 -0
  180. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.hpp +0 -0
  181. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.cpp +0 -0
  182. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.hpp +0 -0
  183. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.cpp +0 -0
  184. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.hpp +0 -0
  185. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.i +0 -0
  186. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.cpp +0 -0
  187. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.hpp +0 -0
  188. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.i +0 -0
  189. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.cpp +0 -0
  190. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.hpp +0 -0
  191. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.cpp +0 -0
  192. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.hpp +0 -0
  193. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.cpp +0 -0
  194. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.hpp +0 -0
  195. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.cpp +0 -0
  196. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.hpp +0 -0
  197. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.cpp +0 -0
  198. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.hpp +0 -0
  199. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.cpp +0 -0
  200. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.hpp +0 -0
  201. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.cpp +0 -0
  202. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.hpp +0 -0
  203. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp +0 -0
  204. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp +0 -0
  205. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i +0 -0
  206. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp +0 -0
  207. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i +0 -0
  208. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp +0 -0
  209. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.hpp +0 -0
  210. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.cpp +0 -0
  211. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.hpp +0 -0
  212. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.cpp +0 -0
  213. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.hpp +0 -0
  214. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.cpp +0 -0
  215. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.hpp +0 -0
  216. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.cpp +0 -0
  217. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.hpp +0 -0
  218. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/fiftyone.h +0 -0
  219. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.c +0 -0
  220. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.h +0 -0
  221. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.c +0 -0
  222. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.h +0 -0
  223. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.i +0 -0
  224. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.c +0 -0
  225. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.h +0 -0
  226. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/transform.h +0 -0
  227. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/cxx/src/transformc.c +0 -0
  228. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/devicedetection_datafile.py +0 -0
  229. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise.py +0 -0
  230. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise_pipelinebuilder.py +0 -0
  231. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx +0 -0
  232. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise/swig_data.py +0 -0
  233. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise.egg-info/dependency_links.txt +0 -0
  234. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise.egg-info/requires.txt +0 -0
  235. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/src/fiftyone_devicedetection_onpremise.egg-info/top_level.txt +0 -0
  236. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/tests/test_automatic_data_file_updates.py +0 -0
  237. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/tests/test_devicedetection.py +0 -0
  238. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/tests/test_properties.py +0 -0
  239. {fiftyone_devicedetection_onpremise-4.5.0a25 → fiftyone_devicedetection_onpremise-4.5.0a26}/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.0a26
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
+ )
@@ -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
+ }
@@ -0,0 +1,41 @@
1
+ /* *********************************************************************
2
+ * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3
+ * Copyright 2023 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
+ #include "float.h"
24
+ #include "string.h"
25
+ #include "status.h"
26
+ #include "coordinate.h"
27
+
28
+ fiftyoneDegreesCoordinate fiftyoneDegreesIpiGetCoordinate(
29
+ const fiftyoneDegreesCollectionItem *item,
30
+ fiftyoneDegreesException *exception) {
31
+ fiftyoneDegreesString *value = (fiftyoneDegreesString *)item->data.ptr;
32
+ fiftyoneDegreesCoordinate coordinate = { 0, 0 };
33
+ if (value->value == FIFTYONE_DEGREES_STRING_COORDINATE) {
34
+ coordinate.lat = FIFTYONE_DEGREES_FLOAT_TO_NATIVE(value->trail.coordinate.lat);
35
+ coordinate.lon = FIFTYONE_DEGREES_FLOAT_TO_NATIVE(value->trail.coordinate.lon);
36
+ }
37
+ else {
38
+ FIFTYONE_DEGREES_EXCEPTION_SET(FIFTYONE_DEGREES_STATUS_CORRUPT_DATA);
39
+ }
40
+ return coordinate;
41
+ }
@@ -0,0 +1,88 @@
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
+ #include "wkbtot.hpp"
24
+
25
+ #include <memory>
26
+
27
+ #include "fiftyone.h"
28
+
29
+ namespace FiftyoneDegrees::Common {
30
+ /**
31
+ * The length for the buffer most WKT strings are expected to fit into.
32
+ */
33
+ static constexpr size_t reasonableWktStringLength = 128;
34
+
35
+ WkbtotResult writeWkbStringToStringStream(
36
+ const String * const wkbString,
37
+ std::stringstream &stream,
38
+ const uint8_t decimalPlaces,
39
+ Exception * const exception) {
40
+
41
+ WkbtotResult toWktResult = {
42
+ 0,
43
+ false,
44
+ };
45
+
46
+ if (!wkbString || !exception) {
47
+ EXCEPTION_SET(FIFTYONE_DEGREES_STATUS_NULL_POINTER);
48
+ return toWktResult;
49
+ }
50
+ const auto * const wkbBytes = FIFTYONE_DEGREES_WKB(wkbString);
51
+ if (!wkbBytes) {
52
+ EXCEPTION_SET(FIFTYONE_DEGREES_STATUS_INVALID_INPUT);
53
+ return toWktResult;
54
+ }
55
+
56
+ {
57
+ char buffer[reasonableWktStringLength];
58
+ toWktResult = ConvertWkbToWkt(
59
+ wkbBytes,
60
+ buffer,
61
+ reasonableWktStringLength,
62
+ decimalPlaces,
63
+ exception
64
+ );
65
+ if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
66
+ stream << buffer;
67
+ return toWktResult;
68
+ }
69
+ }
70
+ if (toWktResult.bufferTooSmall) {
71
+ EXCEPTION_CLEAR;
72
+ const size_t requiredSize = toWktResult.written + 1;
73
+ const std::unique_ptr<char[]> buffer = std::make_unique<char[]>(requiredSize);
74
+ toWktResult = fiftyoneDegreesConvertWkbToWkt(
75
+ wkbBytes,
76
+ buffer.get(),
77
+ requiredSize,
78
+ decimalPlaces,
79
+ exception
80
+ );
81
+ if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
82
+ stream << buffer.get();
83
+ return toWktResult;
84
+ }
85
+ }
86
+ return toWktResult;
87
+ }
88
+ }
@@ -0,0 +1,61 @@
1
+ /* *********************************************************************
2
+ * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3
+ * Copyright 2023 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
+ #include "../../src/common-cxx/Exceptions.hpp"
24
+ #include "ResultsHashSerializer.hpp"
25
+ #include <algorithm>
26
+
27
+ using namespace FiftyoneDegrees::DeviceDetection::Hash;
28
+ ResultsHashSerializer::ResultsHashSerializer(size_t bufferSize): bufferSize(bufferSize) {
29
+ realloc();
30
+ }
31
+
32
+ void ResultsHashSerializer::realloc() {
33
+ // note even if bufferSize = 0 unique_ptr will hold a past-the-end object pointer
34
+ buffer = std::make_unique<char[]>(bufferSize);
35
+ }
36
+
37
+ std::string ResultsHashSerializer::allValuesJson(ResultsHash *results) {
38
+ FIFTYONE_DEGREES_EXCEPTION_CREATE;
39
+ // a loop is needed to ensure we reallocate the buffer if it was too small to hold the whole JSON output
40
+ // a precondition check is needed to not dereference a null pointer
41
+ while(results && results->results && buffer) {
42
+ size_t written = fiftyoneDegreesResultsHashGetValuesJson(results->results, buffer.get(), bufferSize, exception);
43
+ // nothing has been written, something went wrong
44
+ if (written <= 0) break;
45
+ if (written <= bufferSize) {
46
+ // happy path
47
+ // remove the \0 in the end otherwise it will appear as an escaped character
48
+ return string(buffer.get(), written - 1);
49
+ } else {
50
+ // increase the buffer size and retry on the next iteration of the loop
51
+ bufferSize = std::max<size_t>(bufferSize * 2, written);
52
+ try {
53
+ realloc();
54
+ } catch (const std::bad_alloc &) {
55
+ // reallocation failed - we just exit this loop
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ return "";
61
+ }
@@ -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.0a26
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
@@ -69,6 +69,7 @@ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp
69
69
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp
70
70
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i
71
71
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp
72
+ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp
72
73
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp
73
74
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i
74
75
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i
@@ -106,6 +107,7 @@ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c
106
107
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h
107
108
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h
108
109
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h
110
+ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/coordinate.c
109
111
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/coordinate.h
110
112
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c
111
113
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h
@@ -165,6 +167,7 @@ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h
165
167
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c
166
168
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h
167
169
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c
170
+ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.cpp
168
171
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h
169
172
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.hpp
170
173
  src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c
@@ -207,6 +210,7 @@ src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHa
207
210
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp
208
211
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp
209
212
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i
213
+ src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp
210
214
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp
211
215
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i
212
216
  src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp
@@ -0,0 +1 @@
1
+ 4.5.0-alpha.26