fiftyone-devicedetection-onpremise 4.5.0a36__tar.gz → 4.5.0a38__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.
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/PKG-INFO +1 -1
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.c +4 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h +5 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.c +50 -15
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.h +60 -1
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.c +23 -182
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.h +2 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.c +8 -5
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c +25 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c +29 -12
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise.egg-info/PKG-INFO +1 -1
- fiftyone_devicedetection_onpremise-4.5.0a38/version.txt +1 -0
- fiftyone_devicedetection_onpremise-4.5.0a36/version.txt +0 -1
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/MANIFEST.in +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/pyproject.toml +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/setup.cfg +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/setup.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/DeviceDetectionHashEngineModule.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/__init__.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/constants.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/FiftyoneDegrees.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CsTypes.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaDataBuilder.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MapStringStringIterator.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Types.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/array.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/common.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/date.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptions.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fileOffset.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pair.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/propertyValueType.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/snprintf.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/Base.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EngineTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EvidenceTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/ExampleTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FileHandle.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FixedSizeCollection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/HeadersContainer.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/StringCollection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/TestStrings.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/VariableSizeCollection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/pch.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/config-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/fiftyone.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/fiftyone.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/transform.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/cxx/src/transformc.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/devicedetection_datafile.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise_pipelinebuilder.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise/swig_data.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise.egg-info/SOURCES.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise.egg-info/dependency_links.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise.egg-info/requires.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/src/fiftyone_devicedetection_onpremise.egg-info/top_level.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/tests/test_automatic_data_file_updates.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/tests/test_devicedetection.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/tests/test_properties.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/tests/test_swig.py +0 -0
{fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a38}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiftyone_devicedetection_onpremise
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.0a38
|
|
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
|
|
@@ -88,9 +88,13 @@ bool fiftyoneDegreesCollectionGetIsMemoryOnly() { return true; }
|
|
|
88
88
|
* Used by memory collection where there is nothing to be done when the release
|
|
89
89
|
* occurs because the memory it uses is only freed when the collection is
|
|
90
90
|
* freed.
|
|
91
|
+
*
|
|
92
|
+
* The data is reset so that further item operations
|
|
93
|
+
* no longer access collection-controlled memory.
|
|
91
94
|
*/
|
|
92
95
|
static void releaseNothing(Item *item) {
|
|
93
96
|
assert(item != NULL);
|
|
97
|
+
DataReset(&item->data);
|
|
94
98
|
}
|
|
95
99
|
#ifdef _MSC_VER
|
|
96
100
|
#pragma warning (default: 4100)
|
|
@@ -206,6 +206,10 @@ MAP_TYPE(WkbtotReductionMode)
|
|
|
206
206
|
#define ProfileIterateValuesForPropertyWithIndex fiftyoneDegreesProfileIterateValuesForPropertyWithIndex /**< Synonym for #fiftyoneDegreesProfileIterateValuesForPropertyWithIndex function. */
|
|
207
207
|
#define ProfileIterateValueIndexes fiftyoneDegreesProfileIterateValueIndexes /**< Synonym for #fiftyoneDegreesProfileIterateValueIndexes function. */
|
|
208
208
|
#define ProfileIterateProfilesForPropertyAndValue fiftyoneDegreesProfileIterateProfilesForPropertyAndValue /**< Synonym for #fiftyoneDegreesProfileIterateProfilesForPropertyAndValue function. */
|
|
209
|
+
#define ProfileIterateProfilesForPropertyWithTypeAndValue fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValue /**< Synonym for #fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValue function. */
|
|
210
|
+
#define ProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor /**< Synonym for #fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor function. */
|
|
211
|
+
#define ProfileOffsetAsPureOffset fiftyoneDegreesProfileOffsetAsPureOffset /**< Synonym for #fiftyoneDegreesProfileOffsetAsPureOffset function. */
|
|
212
|
+
#define ProfileOffsetToPureOffset fiftyoneDegreesProfileOffsetToPureOffset /**< Synonym for #fiftyoneDegreesProfileOffsetToPureOffset function. */
|
|
209
213
|
#define PropertiesGetPropertyIndexFromName fiftyoneDegreesPropertiesGetPropertyIndexFromName /**< Synonym for #fiftyoneDegreesPropertiesGetPropertyIndexFromName function. */
|
|
210
214
|
#define TreeIterate fiftyoneDegreesTreeIterateNodes /**< Synonym for #fiftyoneDegreesTreeIterateNodes function. */
|
|
211
215
|
#define TreeCount fiftyoneDegreesTreeCount /**< Synonym for #fiftyoneDegreesTreeCount function. */
|
|
@@ -290,6 +294,7 @@ MAP_TYPE(WkbtotReductionMode)
|
|
|
290
294
|
#define ResourceManagerFree fiftyoneDegreesResourceManagerFree /**< Synonym for #fiftyoneDegreesResourceManagerFree function. */
|
|
291
295
|
#define StringGet fiftyoneDegreesStringGet /**< Synonym for #fiftyoneDegreesStringGet function. */
|
|
292
296
|
#define StoredBinaryValueGet fiftyoneDegreesStoredBinaryValueGet /**< Synonym for #fiftyoneDegreesStoredBinaryValueGet function. */
|
|
297
|
+
#define StoredBinaryValueRead fiftyoneDegreesStoredBinaryValueRead /**< Synonym for #fiftyoneDegreesStoredBinaryValueRead function. */
|
|
293
298
|
#define StoredBinaryValueCompareWithString fiftyoneDegreesStoredBinaryValueCompareWithString /**< Synonym for #fiftyoneDegreesStoredBinaryValueCompareWithString function. */
|
|
294
299
|
#define StoredBinaryValueToIntOrDefault fiftyoneDegreesStoredBinaryValueToIntOrDefault /**< Synonym for #fiftyoneDegreesStoredBinaryValueToIntOrDefault function. */
|
|
295
300
|
#define StoredBinaryValueToDoubleOrDefault fiftyoneDegreesStoredBinaryValueToDoubleOrDefault /**< Synonym for #fiftyoneDegreesStoredBinaryValueToDoubleOrDefault function. */
|
|
@@ -426,24 +426,58 @@ uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyAndValue(
|
|
|
426
426
|
exception);
|
|
427
427
|
}
|
|
428
428
|
|
|
429
|
+
uint32_t fiftyoneDegreesProfileOffsetToPureOffset(const void * const rawProfileOffset) {
|
|
430
|
+
return ((const ProfileOffset*)rawProfileOffset)->offset;
|
|
431
|
+
}
|
|
432
|
+
uint32_t fiftyoneDegreesProfileOffsetAsPureOffset(const void * const rawProfileOffset) {
|
|
433
|
+
return *(const uint32_t*)rawProfileOffset;
|
|
434
|
+
}
|
|
435
|
+
|
|
429
436
|
uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValue(
|
|
430
|
-
fiftyoneDegreesCollection *strings,
|
|
431
|
-
fiftyoneDegreesCollection *properties,
|
|
432
|
-
fiftyoneDegreesCollection *propertyTypes,
|
|
433
|
-
fiftyoneDegreesCollection *values,
|
|
434
|
-
fiftyoneDegreesCollection *profiles,
|
|
435
|
-
fiftyoneDegreesCollection *profileOffsets,
|
|
436
|
-
const char *propertyName,
|
|
437
|
-
const char* valueName,
|
|
438
|
-
void *state,
|
|
439
|
-
fiftyoneDegreesProfileIterateMethod callback,
|
|
440
|
-
fiftyoneDegreesException *exception) {
|
|
437
|
+
fiftyoneDegreesCollection * const strings,
|
|
438
|
+
fiftyoneDegreesCollection * const properties,
|
|
439
|
+
fiftyoneDegreesCollection * const propertyTypes,
|
|
440
|
+
fiftyoneDegreesCollection * const values,
|
|
441
|
+
fiftyoneDegreesCollection * const profiles,
|
|
442
|
+
fiftyoneDegreesCollection * const profileOffsets,
|
|
443
|
+
const char * const propertyName,
|
|
444
|
+
const char * const valueName,
|
|
445
|
+
void * const state,
|
|
446
|
+
const fiftyoneDegreesProfileIterateMethod callback,
|
|
447
|
+
fiftyoneDegreesException * const exception) {
|
|
448
|
+
return ProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor(
|
|
449
|
+
strings,
|
|
450
|
+
properties,
|
|
451
|
+
propertyTypes,
|
|
452
|
+
values,
|
|
453
|
+
profiles,
|
|
454
|
+
profileOffsets,
|
|
455
|
+
ProfileOffsetToPureOffset,
|
|
456
|
+
propertyName,
|
|
457
|
+
valueName,
|
|
458
|
+
state,
|
|
459
|
+
callback,
|
|
460
|
+
exception);
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor(
|
|
464
|
+
fiftyoneDegreesCollection * const strings,
|
|
465
|
+
fiftyoneDegreesCollection * const properties,
|
|
466
|
+
fiftyoneDegreesCollection * const propertyTypes,
|
|
467
|
+
fiftyoneDegreesCollection * const values,
|
|
468
|
+
fiftyoneDegreesCollection * const profiles,
|
|
469
|
+
fiftyoneDegreesCollection * const profileOffsets,
|
|
470
|
+
const fiftyoneDegreesProfileOffsetValueExtractor offsetValueExtractor,
|
|
471
|
+
const char * const propertyName,
|
|
472
|
+
const char * const valueName,
|
|
473
|
+
void *const state,
|
|
474
|
+
const fiftyoneDegreesProfileIterateMethod callback,
|
|
475
|
+
fiftyoneDegreesException * const exception) {
|
|
441
476
|
uint32_t i, count = 0;
|
|
442
477
|
Item propertyItem, offsetItem, profileItem;
|
|
443
478
|
uint32_t *profileValueIndex, *maxProfileValueIndex;
|
|
444
479
|
Property *property;
|
|
445
480
|
Profile *profile;
|
|
446
|
-
ProfileOffset *profileOffset;
|
|
447
481
|
DataReset(&propertyItem.data);
|
|
448
482
|
property = PropertyGetByName(
|
|
449
483
|
properties,
|
|
@@ -475,15 +509,16 @@ uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValue(
|
|
|
475
509
|
DataReset(&profileItem.data);
|
|
476
510
|
uint32_t profileOffsetsCount = CollectionGetCount(profileOffsets);
|
|
477
511
|
for (i = 0; i < profileOffsetsCount; i++) {
|
|
478
|
-
|
|
512
|
+
const void * const rawProfileOffset = profileOffsets->get(
|
|
479
513
|
profileOffsets,
|
|
480
514
|
i,
|
|
481
515
|
&offsetItem,
|
|
482
516
|
exception);
|
|
483
|
-
if (
|
|
517
|
+
if (rawProfileOffset != NULL && EXCEPTION_OKAY) {
|
|
518
|
+
const uint32_t pureProfileOffset = offsetValueExtractor(rawProfileOffset);
|
|
484
519
|
profile = getProfileByOffset(
|
|
485
520
|
profiles,
|
|
486
|
-
|
|
521
|
+
pureProfileOffset,
|
|
487
522
|
&profileItem,
|
|
488
523
|
exception);
|
|
489
524
|
if (profile != NULL && EXCEPTION_OKAY) {
|
|
@@ -107,6 +107,31 @@ typedef struct fiftyoneDegrees_profile_offset_t {
|
|
|
107
107
|
} fiftyoneDegreesProfileOffset;
|
|
108
108
|
#pragma pack(pop)
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Function that extracts "pure" profile offset
|
|
112
|
+
* from a value inside `profileOffsets` collection
|
|
113
|
+
* @param rawProfileOffset a "raw" value retrieved from `profileOffsets`
|
|
114
|
+
* @return Offset to the profile in the profiles structure
|
|
115
|
+
*/
|
|
116
|
+
typedef uint32_t (*fiftyoneDegreesProfileOffsetValueExtractor)(const void *rawProfileOffset);
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Function that extracts "pure" profile offset
|
|
120
|
+
* from a fiftyoneDegreesProfileOffset.
|
|
121
|
+
* @param rawProfileOffset a "raw" ProfileOffset retrieved from `profileOffsets`
|
|
122
|
+
* @return Offset to the profile in the profiles structure
|
|
123
|
+
*/
|
|
124
|
+
uint32_t fiftyoneDegreesProfileOffsetToPureOffset(const void *rawProfileOffset);
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Function that extracts "pure" profile offset
|
|
128
|
+
* from a value (that starts with a "pure" profile offset)
|
|
129
|
+
* inside `profileOffsets` collection
|
|
130
|
+
* @param rawProfileOffset a "raw" value retrieved from `profileOffsets`
|
|
131
|
+
* @return Offset to the profile in the profiles structure
|
|
132
|
+
*/
|
|
133
|
+
uint32_t fiftyoneDegreesProfileOffsetAsPureOffset(const void *rawProfileOffset);
|
|
134
|
+
|
|
110
135
|
/**
|
|
111
136
|
* Definition of a callback function which is passed an item of a type
|
|
112
137
|
* determined by the iteration method.
|
|
@@ -242,7 +267,7 @@ EXTERNAL uint32_t fiftyoneDegreesProfileIterateValuesForPropertyWithIndex(
|
|
|
242
267
|
* @param values collection containing all values
|
|
243
268
|
* @param profiles collection containing the profiles referenced by the profile
|
|
244
269
|
* offsets
|
|
245
|
-
* @param profileOffsets collection containing all profile offsets
|
|
270
|
+
* @param profileOffsets collection containing all profile offsets (with IDs)
|
|
246
271
|
* @param propertyName name of the property the value relates to
|
|
247
272
|
* @param valueName name of the value to iterate the profiles for
|
|
248
273
|
* @param state pointer to data needed by the callback method
|
|
@@ -264,6 +289,40 @@ EXTERNAL uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndVal
|
|
|
264
289
|
fiftyoneDegreesProfileIterateMethod callback,
|
|
265
290
|
fiftyoneDegreesException *exception);
|
|
266
291
|
|
|
292
|
+
/**
|
|
293
|
+
* Iterate all profiles which contain the specified value, calling the callback
|
|
294
|
+
* method for each.
|
|
295
|
+
* @param strings collection containing the strings referenced properties and
|
|
296
|
+
* values
|
|
297
|
+
* @param properties collection containing all properties
|
|
298
|
+
* @param propertyTypes collection containing types for all properties
|
|
299
|
+
* @param values collection containing all values
|
|
300
|
+
* @param profiles collection containing the profiles referenced by the profile
|
|
301
|
+
* offsets
|
|
302
|
+
* @param profileOffsets collection containing all profile offsets (any form)
|
|
303
|
+
* @param offsetValueExtractor converts `profileOffsets` value to "pure" offset
|
|
304
|
+
* @param propertyName name of the property the value relates to
|
|
305
|
+
* @param valueName name of the value to iterate the profiles for
|
|
306
|
+
* @param state pointer to data needed by the callback method
|
|
307
|
+
* @param callback method to be called for each matching profile
|
|
308
|
+
* @param exception pointer to an exception data structure to be used if an
|
|
309
|
+
* exception occurs. See exceptions.h
|
|
310
|
+
* @return the number matching profiles which have been iterated
|
|
311
|
+
*/
|
|
312
|
+
EXTERNAL uint32_t fiftyoneDegreesProfileIterateProfilesForPropertyWithTypeAndValueAndOffsetExtractor(
|
|
313
|
+
fiftyoneDegreesCollection *strings,
|
|
314
|
+
fiftyoneDegreesCollection *properties,
|
|
315
|
+
fiftyoneDegreesCollection *propertyTypes,
|
|
316
|
+
fiftyoneDegreesCollection *values,
|
|
317
|
+
fiftyoneDegreesCollection *profiles,
|
|
318
|
+
fiftyoneDegreesCollection *profileOffsets,
|
|
319
|
+
fiftyoneDegreesProfileOffsetValueExtractor offsetValueExtractor,
|
|
320
|
+
const char *propertyName,
|
|
321
|
+
const char* valueName,
|
|
322
|
+
void *state,
|
|
323
|
+
fiftyoneDegreesProfileIterateMethod callback,
|
|
324
|
+
fiftyoneDegreesException *exception);
|
|
325
|
+
|
|
267
326
|
/**
|
|
268
327
|
* Iterate all profiles which contain the specified value, calling the callback
|
|
269
328
|
* method for each.
|
|
@@ -205,116 +205,6 @@ StoredBinaryValue* fiftyoneDegreesStoredBinaryValueGet(
|
|
|
205
205
|
return result;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
/**
|
|
209
|
-
* Function to compare the current String item to the
|
|
210
|
-
* target search value using the IpAddress format.
|
|
211
|
-
* @param value the current String item
|
|
212
|
-
* @param target the target search value. This should
|
|
213
|
-
* be in string readable format of an IP address.
|
|
214
|
-
* @return 0 if they are equal, otherwise negative
|
|
215
|
-
* for smaller and positive for bigger
|
|
216
|
-
*/
|
|
217
|
-
static int compareIpAddressToString(const VarLengthByteArray * const value, const char * const target) {
|
|
218
|
-
int result = 0;
|
|
219
|
-
IpAddress ipAddress;
|
|
220
|
-
bool parsed = IpAddressParse(
|
|
221
|
-
target,
|
|
222
|
-
target + strlen(target),
|
|
223
|
-
&ipAddress);
|
|
224
|
-
if (parsed) {
|
|
225
|
-
const int16_t valueLength = value->size;
|
|
226
|
-
int16_t searchLength = 0;
|
|
227
|
-
switch (ipAddress.type) {
|
|
228
|
-
case IP_TYPE_IPV4:
|
|
229
|
-
searchLength = IPV4_LENGTH;
|
|
230
|
-
break;
|
|
231
|
-
case IP_TYPE_IPV6:
|
|
232
|
-
searchLength = IPV6_LENGTH;
|
|
233
|
-
break;
|
|
234
|
-
case IP_TYPE_INVALID:
|
|
235
|
-
default:
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
if (searchLength == 0) {
|
|
240
|
-
result = valueLength;
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
// Compare length first
|
|
244
|
-
const size_t compareLength = ((valueLength < searchLength)
|
|
245
|
-
? valueLength : searchLength);
|
|
246
|
-
result = memcmp(&value->firstByte,
|
|
247
|
-
ipAddress.value, compareLength);
|
|
248
|
-
if (result == 0) {
|
|
249
|
-
result = valueLength - searchLength;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
return result;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
static int compareWkbToString(
|
|
257
|
-
const VarLengthByteArray * const binaryValue,
|
|
258
|
-
const WkbtotReductionMode reductionMode,
|
|
259
|
-
const char * const target,
|
|
260
|
-
Exception * const exception) {
|
|
261
|
-
WkbtotResult toWktResult = {
|
|
262
|
-
0,
|
|
263
|
-
false,
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
if (!binaryValue || !exception) {
|
|
267
|
-
EXCEPTION_SET(FIFTYONE_DEGREES_STATUS_NULL_POINTER);
|
|
268
|
-
return -1;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
int result = -1;
|
|
272
|
-
|
|
273
|
-
{
|
|
274
|
-
char buffer[REASONABLE_WKT_STRING_LENGTH];
|
|
275
|
-
StringBuilder builder = { buffer, REASONABLE_WKT_STRING_LENGTH };
|
|
276
|
-
StringBuilderInit(&builder);
|
|
277
|
-
WriteWkbAsWktToStringBuilder(
|
|
278
|
-
&binaryValue->firstByte,
|
|
279
|
-
reductionMode,
|
|
280
|
-
MAX_DOUBLE_DECIMAL_PLACES,
|
|
281
|
-
&builder,
|
|
282
|
-
exception
|
|
283
|
-
);
|
|
284
|
-
StringBuilderComplete(&builder);
|
|
285
|
-
toWktResult = (WkbtotResult){
|
|
286
|
-
builder.added,
|
|
287
|
-
builder.full,
|
|
288
|
-
};
|
|
289
|
-
if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
|
|
290
|
-
result = strcmp(buffer, target);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
if (toWktResult.bufferTooSmall) {
|
|
294
|
-
EXCEPTION_CLEAR;
|
|
295
|
-
const size_t requiredSize = toWktResult.written + 1;
|
|
296
|
-
char * const buffer = Malloc(requiredSize);
|
|
297
|
-
StringBuilder builder = { buffer, requiredSize };
|
|
298
|
-
StringBuilderInit(&builder);
|
|
299
|
-
WriteWkbAsWktToStringBuilder(
|
|
300
|
-
&binaryValue->firstByte,
|
|
301
|
-
reductionMode,
|
|
302
|
-
MAX_DOUBLE_DECIMAL_PLACES,
|
|
303
|
-
&builder,
|
|
304
|
-
exception
|
|
305
|
-
);
|
|
306
|
-
StringBuilderComplete(&builder);
|
|
307
|
-
toWktResult = (WkbtotResult){
|
|
308
|
-
builder.added,
|
|
309
|
-
builder.full,
|
|
310
|
-
};
|
|
311
|
-
if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
|
|
312
|
-
result = strcmp(buffer, target);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
return result;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
208
|
static double shortToDouble(const StoredBinaryValue * const value, const double maxAngle) {
|
|
319
209
|
return (value->shortValue * maxAngle) / INT16_MAX;
|
|
320
210
|
}
|
|
@@ -324,88 +214,39 @@ static double toAzimuth(const StoredBinaryValue * const value) {
|
|
|
324
214
|
static double toDeclination(const StoredBinaryValue * const value) {
|
|
325
215
|
return shortToDouble(value, 90);
|
|
326
216
|
}
|
|
327
|
-
static double toDoubleFromFloat(const StoredBinaryValue * const value) {
|
|
328
|
-
return FLOAT_TO_NATIVE(value->floatValue);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
static int compareDoubleToString(
|
|
332
|
-
const double testedValue,
|
|
333
|
-
const char * const target) {
|
|
334
|
-
|
|
335
|
-
const double searchValue = (float)strtod(target, NULL);
|
|
336
|
-
if (errno == ERANGE)
|
|
337
|
-
{
|
|
338
|
-
errno = 0;
|
|
339
|
-
return -1;
|
|
340
|
-
}
|
|
341
|
-
const double dv = testedValue - searchValue;
|
|
342
|
-
return !dv ? 0 : (dv < 0 ? -1 : 1);
|
|
343
|
-
}
|
|
344
217
|
|
|
345
218
|
int fiftyoneDegreesStoredBinaryValueCompareWithString(
|
|
346
219
|
const StoredBinaryValue * const value,
|
|
347
220
|
const PropertyValueType storedValueType,
|
|
348
221
|
const char * const target,
|
|
222
|
+
StringBuilder * const tempBuilder,
|
|
349
223
|
Exception * const exception) {
|
|
350
224
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
if (result) {
|
|
358
|
-
return result;
|
|
359
|
-
}
|
|
360
|
-
if (cmpLength < targetLength) {
|
|
361
|
-
return -1;
|
|
362
|
-
}
|
|
363
|
-
return 0;
|
|
364
|
-
}
|
|
365
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_IP_ADDRESS: {
|
|
366
|
-
return compareIpAddressToString(&value->byteArrayValue, target);
|
|
367
|
-
}
|
|
368
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_WKB: {
|
|
369
|
-
return compareWkbToString(
|
|
370
|
-
&value->byteArrayValue,
|
|
371
|
-
FIFTYONE_DEGREES_WKBToT_REDUCTION_NONE,
|
|
372
|
-
target,
|
|
373
|
-
exception);
|
|
374
|
-
}
|
|
375
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_WKB_R: {
|
|
376
|
-
return compareWkbToString(
|
|
377
|
-
&value->byteArrayValue,
|
|
378
|
-
FIFTYONE_DEGREES_WKBToT_REDUCTION_SHORT,
|
|
379
|
-
target,
|
|
380
|
-
exception);
|
|
381
|
-
}
|
|
382
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_INTEGER: {
|
|
383
|
-
const int32_t intValue = value->intValue;
|
|
384
|
-
const int32_t searchInt = (int32_t) strtol(target, NULL, 10);
|
|
385
|
-
if (errno == ERANGE)
|
|
386
|
-
{
|
|
387
|
-
errno = 0;
|
|
388
|
-
return -1;
|
|
389
|
-
}
|
|
390
|
-
return intValue - searchInt;
|
|
391
|
-
}
|
|
392
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_SINGLE_PRECISION_FLOAT: {
|
|
393
|
-
return compareDoubleToString(toDoubleFromFloat(value), target);
|
|
394
|
-
}
|
|
395
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_AZIMUTH: {
|
|
396
|
-
return compareDoubleToString(toAzimuth(value), target);
|
|
397
|
-
}
|
|
398
|
-
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_DECLINATION: {
|
|
399
|
-
return compareDoubleToString(toDeclination(value), target);
|
|
400
|
-
}
|
|
401
|
-
default: {
|
|
402
|
-
EXCEPTION_SET(UNSUPPORTED_STORED_VALUE_TYPE);
|
|
403
|
-
return -1;
|
|
404
|
-
}
|
|
225
|
+
if (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING) {
|
|
226
|
+
const int cmpResult = strncmp(
|
|
227
|
+
&value->stringValue.value,
|
|
228
|
+
target,
|
|
229
|
+
value->stringValue.size);
|
|
230
|
+
return cmpResult;
|
|
405
231
|
}
|
|
232
|
+
EXCEPTION_CLEAR;
|
|
233
|
+
const uint8_t decimalPlaces = (
|
|
234
|
+
tempBuilder->length < MAX_DOUBLE_DECIMAL_PLACES
|
|
235
|
+
? (uint8_t)tempBuilder->length
|
|
236
|
+
: MAX_DOUBLE_DECIMAL_PLACES);
|
|
237
|
+
StringBuilderAddStringValue(
|
|
238
|
+
tempBuilder,
|
|
239
|
+
value,
|
|
240
|
+
storedValueType,
|
|
241
|
+
decimalPlaces,
|
|
242
|
+
exception);
|
|
243
|
+
StringBuilderComplete(tempBuilder);
|
|
244
|
+
const int result = (EXCEPTION_OKAY
|
|
245
|
+
? strcmp(tempBuilder->ptr, target)
|
|
246
|
+
: -1);
|
|
247
|
+
return result;
|
|
406
248
|
}
|
|
407
249
|
|
|
408
|
-
|
|
409
250
|
int fiftyoneDegreesStoredBinaryValueToIntOrDefault(
|
|
410
251
|
const fiftyoneDegreesStoredBinaryValue * const value,
|
|
411
252
|
const fiftyoneDegreesPropertyValueType storedValueType,
|
|
@@ -132,6 +132,7 @@ EXTERNAL fiftyoneDegreesStoredBinaryValue* fiftyoneDegreesStoredBinaryValueGet(
|
|
|
132
132
|
* @param value the current binary value item
|
|
133
133
|
* @param storedValueType format of byte array representation
|
|
134
134
|
* @param target the target search value.
|
|
135
|
+
* @param tempBuilder temporary builder to stringify value into.
|
|
135
136
|
* @return 0 if they are equal, otherwise negative
|
|
136
137
|
* for smaller and positive for bigger
|
|
137
138
|
*/
|
|
@@ -139,6 +140,7 @@ EXTERNAL int fiftyoneDegreesStoredBinaryValueCompareWithString(
|
|
|
139
140
|
const fiftyoneDegreesStoredBinaryValue *value,
|
|
140
141
|
fiftyoneDegreesPropertyValueType storedValueType,
|
|
141
142
|
const char *target,
|
|
143
|
+
fiftyoneDegreesStringBuilder *tempBuilder,
|
|
142
144
|
fiftyoneDegreesException *exception);
|
|
143
145
|
|
|
144
146
|
/**
|
|
@@ -220,12 +220,15 @@ fiftyoneDegreesStringBuilder* fiftyoneDegreesStringBuilderAddChars(
|
|
|
220
220
|
fiftyoneDegreesStringBuilder* builder,
|
|
221
221
|
const char * const value,
|
|
222
222
|
size_t const length) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
builder->remaining
|
|
226
|
-
|
|
223
|
+
const bool fitsIn = length < builder->remaining;
|
|
224
|
+
const size_t clippedLength = (
|
|
225
|
+
fitsIn ? length : (builder->remaining ? builder->remaining - 1 : 0));
|
|
226
|
+
if (0 < clippedLength &&
|
|
227
|
+
memcpy(builder->current, value, clippedLength) == builder->current) {
|
|
228
|
+
builder->remaining -= clippedLength;
|
|
229
|
+
builder->current += clippedLength;
|
|
227
230
|
}
|
|
228
|
-
|
|
231
|
+
if (!fitsIn) {
|
|
229
232
|
builder->full = true;
|
|
230
233
|
}
|
|
231
234
|
builder->added += length;
|
|
@@ -31,6 +31,7 @@ typedef struct value_search_t {
|
|
|
31
31
|
Collection *strings;
|
|
32
32
|
const char *valueName;
|
|
33
33
|
PropertyValueType valueType;
|
|
34
|
+
StringBuilder *tempBuilder;
|
|
34
35
|
} valueSearch;
|
|
35
36
|
|
|
36
37
|
#ifdef _MSC_VER
|
|
@@ -44,6 +45,9 @@ static int compareValueByName(void *state, Item *item, long curIndex, Exception
|
|
|
44
45
|
StoredBinaryValue *value;
|
|
45
46
|
valueSearch *search = (valueSearch*)state;
|
|
46
47
|
DataReset(&name.data);
|
|
48
|
+
if (search->tempBuilder) {
|
|
49
|
+
StringBuilderInit(search->tempBuilder);
|
|
50
|
+
}
|
|
47
51
|
value = ValueGetContent(
|
|
48
52
|
search->strings,
|
|
49
53
|
(Value*)item->data.ptr,
|
|
@@ -55,6 +59,7 @@ static int compareValueByName(void *state, Item *item, long curIndex, Exception
|
|
|
55
59
|
value,
|
|
56
60
|
search->valueType,
|
|
57
61
|
search->valueName,
|
|
62
|
+
search->tempBuilder,
|
|
58
63
|
exception);
|
|
59
64
|
COLLECTION_RELEASE(search->strings, &name);
|
|
60
65
|
}
|
|
@@ -155,6 +160,13 @@ long fiftyoneDegreesValueGetIndexByNameAndType(
|
|
|
155
160
|
search.valueName = valueName;
|
|
156
161
|
search.strings = strings;
|
|
157
162
|
search.valueType = storedValueType;
|
|
163
|
+
|
|
164
|
+
const bool isString = (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING);
|
|
165
|
+
const size_t requiredSize = strlen(valueName) + 3;
|
|
166
|
+
char * const buffer = isString ? NULL : Malloc(requiredSize);
|
|
167
|
+
StringBuilder tempBuilder = { buffer, requiredSize };
|
|
168
|
+
search.tempBuilder = isString ? NULL : &tempBuilder;
|
|
169
|
+
|
|
158
170
|
index = CollectionBinarySearch(
|
|
159
171
|
values,
|
|
160
172
|
&item,
|
|
@@ -163,6 +175,9 @@ long fiftyoneDegreesValueGetIndexByNameAndType(
|
|
|
163
175
|
(void*)&search,
|
|
164
176
|
compareValueByName,
|
|
165
177
|
exception);
|
|
178
|
+
if (buffer) {
|
|
179
|
+
Free(buffer);
|
|
180
|
+
}
|
|
166
181
|
if (EXCEPTION_OKAY) {
|
|
167
182
|
COLLECTION_RELEASE(values, &item);
|
|
168
183
|
}
|
|
@@ -200,6 +215,13 @@ Value* fiftyoneDegreesValueGetByNameAndType(
|
|
|
200
215
|
search.valueName = valueName;
|
|
201
216
|
search.strings = strings;
|
|
202
217
|
search.valueType = storedValueType;
|
|
218
|
+
|
|
219
|
+
const bool isString = (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING);
|
|
220
|
+
const size_t requiredSize = strlen(valueName) + 3;
|
|
221
|
+
char * const buffer = isString ? NULL : Malloc(requiredSize);
|
|
222
|
+
StringBuilder tempBuilder = { buffer, requiredSize };
|
|
223
|
+
search.tempBuilder = isString ? NULL : &tempBuilder;
|
|
224
|
+
|
|
203
225
|
if (
|
|
204
226
|
(int)property->firstValueIndex != -1 &&
|
|
205
227
|
CollectionBinarySearch(
|
|
@@ -213,5 +235,8 @@ Value* fiftyoneDegreesValueGetByNameAndType(
|
|
|
213
235
|
EXCEPTION_OKAY) {
|
|
214
236
|
value = (Value*)item->data.ptr;
|
|
215
237
|
}
|
|
238
|
+
if (buffer) {
|
|
239
|
+
Free(buffer);
|
|
240
|
+
}
|
|
216
241
|
return value;
|
|
217
242
|
}
|
|
@@ -227,10 +227,14 @@ static const NumReader *selectNumReader(const WkbtotReductionMode reductionMode)
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
+
typedef struct {
|
|
231
|
+
StringBuilder * const stringBuilder;
|
|
232
|
+
bool isSeparated;
|
|
233
|
+
} OutputState;
|
|
230
234
|
|
|
231
235
|
typedef struct {
|
|
232
236
|
const byte *binaryBuffer;
|
|
233
|
-
|
|
237
|
+
OutputState output;
|
|
234
238
|
|
|
235
239
|
CoordMode coordMode;
|
|
236
240
|
ByteOrder wkbByteOrder;
|
|
@@ -264,24 +268,29 @@ static void writeEmpty(
|
|
|
264
268
|
ProcessingContext * const context) {
|
|
265
269
|
|
|
266
270
|
static const char empty[] = "EMPTY";
|
|
267
|
-
|
|
271
|
+
if (!context->output.isSeparated) {
|
|
272
|
+
StringBuilderAddChar(context->output.stringBuilder, ' ');
|
|
273
|
+
}
|
|
274
|
+
StringBuilderAddChars(context->output.stringBuilder, empty, sizeof(empty) - 1);
|
|
275
|
+
context->output.isSeparated = false;
|
|
268
276
|
}
|
|
269
277
|
|
|
270
278
|
static void writeTaggedGeometryName(
|
|
271
|
-
|
|
279
|
+
ProcessingContext * const context,
|
|
272
280
|
const char * const geometryName) {
|
|
273
281
|
|
|
274
282
|
StringBuilderAddChars(
|
|
275
|
-
context->stringBuilder,
|
|
283
|
+
context->output.stringBuilder,
|
|
276
284
|
geometryName,
|
|
277
285
|
strlen(geometryName));
|
|
278
286
|
if (context->coordMode.tag) {
|
|
279
|
-
StringBuilderAddChar(context->stringBuilder, ' ');
|
|
287
|
+
StringBuilderAddChar(context->output.stringBuilder, ' ');
|
|
280
288
|
StringBuilderAddChars(
|
|
281
|
-
context->stringBuilder,
|
|
289
|
+
context->output.stringBuilder,
|
|
282
290
|
context->coordMode.tag,
|
|
283
291
|
context->coordMode.tagLength);
|
|
284
292
|
}
|
|
293
|
+
context->output.isSeparated = false;
|
|
285
294
|
}
|
|
286
295
|
|
|
287
296
|
|
|
@@ -296,17 +305,20 @@ static void withParenthesesIterate(
|
|
|
296
305
|
|
|
297
306
|
Exception * const exception = context->exception;
|
|
298
307
|
|
|
299
|
-
StringBuilderAddChar(context->stringBuilder, '(');
|
|
308
|
+
StringBuilderAddChar(context->output.stringBuilder, '(');
|
|
309
|
+
context->output.isSeparated = true;
|
|
300
310
|
for (uint32_t i = 0; i < count; i++) {
|
|
301
311
|
if (i) {
|
|
302
|
-
StringBuilderAddChar(context->stringBuilder, ',');
|
|
312
|
+
StringBuilderAddChar(context->output.stringBuilder, ',');
|
|
313
|
+
context->output.isSeparated = true;
|
|
303
314
|
}
|
|
304
315
|
visitor(context);
|
|
305
316
|
if (EXCEPTION_FAILED) {
|
|
306
317
|
return;
|
|
307
318
|
}
|
|
308
319
|
}
|
|
309
|
-
StringBuilderAddChar(context->stringBuilder, ')');
|
|
320
|
+
StringBuilderAddChar(context->output.stringBuilder, ')');
|
|
321
|
+
context->output.isSeparated = true;
|
|
310
322
|
}
|
|
311
323
|
|
|
312
324
|
static void handlePointSegment(
|
|
@@ -314,10 +326,12 @@ static void handlePointSegment(
|
|
|
314
326
|
|
|
315
327
|
for (CoordIndexType i = 0; i < context->coordMode.dimensionsCount; i++) {
|
|
316
328
|
if (i) {
|
|
317
|
-
StringBuilderAddChar(context->stringBuilder, ' ');
|
|
329
|
+
StringBuilderAddChar(context->output.stringBuilder, ' ');
|
|
330
|
+
context->output.isSeparated = true;
|
|
318
331
|
}
|
|
319
332
|
const double nextCoord = readDouble(context, i);
|
|
320
|
-
StringBuilderAddDouble(context->stringBuilder, nextCoord, context->decimalPlaces);
|
|
333
|
+
StringBuilderAddDouble(context->output.stringBuilder, nextCoord, context->decimalPlaces);
|
|
334
|
+
context->output.isSeparated = false;
|
|
321
335
|
}
|
|
322
336
|
}
|
|
323
337
|
|
|
@@ -575,7 +589,10 @@ static void handleWKBRoot(
|
|
|
575
589
|
|
|
576
590
|
ProcessingContext context = {
|
|
577
591
|
binaryBuffer,
|
|
578
|
-
|
|
592
|
+
{
|
|
593
|
+
stringBuilder,
|
|
594
|
+
true,
|
|
595
|
+
},
|
|
579
596
|
|
|
580
597
|
CoordModes[0],
|
|
581
598
|
~*binaryBuffer,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiftyone-devicedetection-onpremise
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.0a38
|
|
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 @@
|
|
|
1
|
+
4.5.0-alpha.38
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.0-alpha.36
|
|
File without changes
|
|
File without changes
|