fiftyone-devicedetection-onpremise 4.5.0a29__tar.gz → 4.5.0a30__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.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/PKG-INFO +1 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.c +13 -13
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.h +4 -5
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c +1 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h +4 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c +45 -10
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h +25 -2
- fiftyone_devicedetection_onpremise-4.5.0a30/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fileOffset.h +74 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.h +2 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.c +67 -5
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FixedSizeCollection.hpp +2 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/VariableSizeCollection.hpp +1 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise.egg-info/PKG-INFO +1 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise.egg-info/SOURCES.txt +1 -0
- fiftyone_devicedetection_onpremise-4.5.0a30/version.txt +1 -0
- fiftyone_devicedetection_onpremise-4.5.0a29/version.txt +0 -1
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/MANIFEST.in +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/pyproject.toml +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/setup.cfg +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/setup.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/DeviceDetectionHashEngineModule.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/__init__.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/constants.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/FiftyoneDegrees.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CsTypes.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaDataBuilder.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MapStringStringIterator.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Types.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/array.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/common.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/date.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptions.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pair.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/propertyValueType.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/snprintf.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/Base.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EngineTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EvidenceTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/ExampleTests.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FileHandle.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/HeadersContainer.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/StringCollection.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/TestStrings.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/pch.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/config-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/fiftyone.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.cpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.hpp +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/fiftyone.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.i +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/transform.h +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/cxx/src/transformc.c +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/devicedetection_datafile.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise_pipelinebuilder.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise/swig_data.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise.egg-info/dependency_links.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise.egg-info/requires.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/src/fiftyone_devicedetection_onpremise.egg-info/top_level.txt +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/tests/test_automatic_data_file_updates.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/tests/test_devicedetection.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/tests/test_properties.py +0 -0
- {fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/tests/test_swig.py +0 -0
{fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/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.0a30
|
|
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
|
|
@@ -517,10 +517,10 @@ static CollectionFile* readFile(CollectionFile *fileCollection, FILE *file) {
|
|
|
517
517
|
}
|
|
518
518
|
|
|
519
519
|
// Record the offset in the source file to the collection.
|
|
520
|
-
fileCollection->offset =
|
|
520
|
+
fileCollection->offset = FileTell(file);
|
|
521
521
|
|
|
522
522
|
// Move the file handle past the collection.
|
|
523
|
-
if (
|
|
523
|
+
if (FileSeek(file, fileCollection->collection->size, SEEK_CUR) != 0) {
|
|
524
524
|
return NULL;
|
|
525
525
|
}
|
|
526
526
|
|
|
@@ -596,7 +596,7 @@ static Collection* createFromFilePartial(
|
|
|
596
596
|
memory->memoryToFree = memory->firstByte;
|
|
597
597
|
|
|
598
598
|
// Position the file reader at the start of the collection.
|
|
599
|
-
if (
|
|
599
|
+
if (FileSeek(file, header->startPosition, SEEK_SET) != 0) {
|
|
600
600
|
freeMemoryCollection(collection);
|
|
601
601
|
source->freeCollection(source);
|
|
602
602
|
return NULL;
|
|
@@ -611,7 +611,7 @@ static Collection* createFromFilePartial(
|
|
|
611
611
|
}
|
|
612
612
|
|
|
613
613
|
// Move the file position to the byte after the collection.
|
|
614
|
-
if (
|
|
614
|
+
if (FileSeek(file, source->size - memory->collection->size, SEEK_CUR) != 0) {
|
|
615
615
|
freeMemoryCollection(collection);
|
|
616
616
|
source->freeCollection(source);
|
|
617
617
|
return NULL;
|
|
@@ -702,7 +702,7 @@ static Collection* createFromFileSecond(
|
|
|
702
702
|
|
|
703
703
|
// Return the file position to the start of the collection ready to
|
|
704
704
|
// read the next collection.
|
|
705
|
-
if (
|
|
705
|
+
if (FileSeek(file, header.startPosition, SEEK_SET) == 0) {
|
|
706
706
|
|
|
707
707
|
// Choose between the cached or file based collection.
|
|
708
708
|
if (config->capacity > 0 && config->concurrency > 0) {
|
|
@@ -748,7 +748,7 @@ fiftyoneDegreesCollectionHeader fiftyoneDegreesCollectionHeaderFromMemory(
|
|
|
748
748
|
|
|
749
749
|
// Advance the memory reader and record the start of the collection.
|
|
750
750
|
if (MemoryAdvance(reader, sizeof(uint32_t))) {
|
|
751
|
-
header.startPosition = (
|
|
751
|
+
header.startPosition = (FileOffsetUnsigned)(reader->current - reader->startByte);
|
|
752
752
|
}
|
|
753
753
|
else {
|
|
754
754
|
header.startPosition = 0;
|
|
@@ -762,7 +762,7 @@ fiftyoneDegreesCollection* fiftyoneDegreesCollectionCreateFromMemory(
|
|
|
762
762
|
fiftyoneDegreesCollectionHeader header) {
|
|
763
763
|
|
|
764
764
|
// Validate the header and the reader are in sync at the correct position.
|
|
765
|
-
if ((
|
|
765
|
+
if ((FileOffsetUnsigned)(reader->current - reader->startByte) !=
|
|
766
766
|
header.startPosition) {
|
|
767
767
|
return NULL;
|
|
768
768
|
}
|
|
@@ -829,7 +829,7 @@ fiftyoneDegreesCollectionHeader fiftyoneDegreesCollectionHeaderFromFile(
|
|
|
829
829
|
header.length = sizeOrCount;
|
|
830
830
|
header.count = elementSize > 0 ? header.length / elementSize : 0;
|
|
831
831
|
}
|
|
832
|
-
header.startPosition = (
|
|
832
|
+
header.startPosition = (FileOffsetUnsigned)FileTell(file);
|
|
833
833
|
}
|
|
834
834
|
else {
|
|
835
835
|
header.startPosition = 0;
|
|
@@ -876,7 +876,7 @@ fiftyoneDegreesCollection* fiftyoneDegreesCollectionCreateFromFile(
|
|
|
876
876
|
|
|
877
877
|
if (result == NULL || (
|
|
878
878
|
result->count == config->loaded &&
|
|
879
|
-
(
|
|
879
|
+
(FileOffset)result->size < (FileTell(file) - (FileOffset)header.startPosition))) {
|
|
880
880
|
|
|
881
881
|
// Create the next collection if one is needed.
|
|
882
882
|
*next = createFromFileSecond(file, reader, config, header, read);
|
|
@@ -910,11 +910,11 @@ fiftyoneDegreesCollection* fiftyoneDegreesCollectionCreateFromFile(
|
|
|
910
910
|
}
|
|
911
911
|
|
|
912
912
|
memory.startByte = memory.current;
|
|
913
|
-
memory.length = (
|
|
913
|
+
memory.length = (FileOffset)header.length;
|
|
914
914
|
memory.lastByte = memory.current + memory.length;
|
|
915
915
|
|
|
916
916
|
// Position the file reader at the start of the collection.
|
|
917
|
-
if (
|
|
917
|
+
if (FileSeek(file, header.startPosition, SEEK_SET) != 0) {
|
|
918
918
|
free(data);
|
|
919
919
|
return NULL;
|
|
920
920
|
}
|
|
@@ -961,7 +961,7 @@ fiftyoneDegreesFileHandle* fiftyoneDegreesCollectionReadFilePosition(
|
|
|
961
961
|
|
|
962
962
|
// Move to the start of the record in the file handling success or
|
|
963
963
|
// failure of the operation via the status code.
|
|
964
|
-
if (
|
|
964
|
+
if (FileSeek(handle->file, file->offset + offset, SEEK_SET) != 0) {
|
|
965
965
|
|
|
966
966
|
// Release the handle as the operation failed.
|
|
967
967
|
FileHandleRelease(handle);
|
|
@@ -1048,7 +1048,7 @@ static void* readFileVariable(
|
|
|
1048
1048
|
void *ptr = NULL;
|
|
1049
1049
|
|
|
1050
1050
|
// Set the file position to the start of the item being read.
|
|
1051
|
-
if (
|
|
1051
|
+
if (FileSeek(handle->file, fileCollection->offset + offset, SEEK_SET) == 0) {
|
|
1052
1052
|
|
|
1053
1053
|
// Read the item header minus the last part of the structure
|
|
1054
1054
|
// that may not always be included with every item.
|
|
@@ -246,7 +246,6 @@
|
|
|
246
246
|
#include "common.h"
|
|
247
247
|
#include <stdio.h>
|
|
248
248
|
#include <string.h>
|
|
249
|
-
#include <assert.h>
|
|
250
249
|
|
|
251
250
|
/**
|
|
252
251
|
* Free a collection by checking if it is NULL first.
|
|
@@ -272,9 +271,9 @@ if (c != NULL) { c->freeCollection(c); }
|
|
|
272
271
|
* Collection header structure which defines the size and location of the
|
|
273
272
|
* collection data.
|
|
274
273
|
*/
|
|
275
|
-
#pragma pack(push,
|
|
274
|
+
#pragma pack(push, 1)
|
|
276
275
|
typedef struct fiftyone_degrees_collection_header_t {
|
|
277
|
-
|
|
276
|
+
fiftyoneDegreesFileOffsetUnsigned startPosition; /**< Start position in the data file of the entities */
|
|
278
277
|
uint32_t length; /**< Length in bytes of all the entities */
|
|
279
278
|
uint32_t count; /**< Number of entities in the collection */
|
|
280
279
|
} fiftyoneDegreesCollectionHeader;
|
|
@@ -319,7 +318,7 @@ typedef struct fiftyone_degrees_collection_item_t {
|
|
|
319
318
|
* if the item could not be loaded. The exception parameter is set to the
|
|
320
319
|
* status code to indicate the failure.
|
|
321
320
|
* @param collection pointer to the file collection
|
|
322
|
-
* @param
|
|
321
|
+
* @param indexOrOffset index or offset to the item in the data structure
|
|
323
322
|
* @param item pointer to the item structure to place the result in
|
|
324
323
|
* @param exception pointer to an exception data structure to be used if an
|
|
325
324
|
* exception occurs. See exceptions.h.
|
|
@@ -446,7 +445,7 @@ typedef struct fiftyone_degrees_collection_file_t {
|
|
|
446
445
|
fiftyoneDegreesCollection *collection; /**< The generic collection */
|
|
447
446
|
fiftyoneDegreesFilePool *reader; /**< Reader used to load items into the
|
|
448
447
|
cache, or NULL if no cache */
|
|
449
|
-
|
|
448
|
+
fiftyoneDegreesFileOffset offset; /**< Offset to the collection in the source data structure */
|
|
450
449
|
fiftyoneDegreesCollectionFileRead read; /**< Read method used to read an
|
|
451
450
|
item from file at an offset or
|
|
452
451
|
index */
|
|
@@ -44,7 +44,7 @@ uint32_t fiftyoneDegreesComponentGetDefaultProfileId(
|
|
|
44
44
|
&profileItem,
|
|
45
45
|
exception);
|
|
46
46
|
if (profile != NULL && EXCEPTION_OKAY) {
|
|
47
|
-
profileId =
|
|
47
|
+
profileId = profile->profileId;
|
|
48
48
|
COLLECTION_RELEASE(profiles, &profileItem);
|
|
49
49
|
}
|
|
50
50
|
return profileId;
|
|
@@ -113,6 +113,8 @@ MAP_TYPE(CollectionCache)
|
|
|
113
113
|
MAP_TYPE(CollectionFileRead)
|
|
114
114
|
#endif
|
|
115
115
|
MAP_TYPE(FileHandle)
|
|
116
|
+
MAP_TYPE(FileOffset)
|
|
117
|
+
MAP_TYPE(FileOffsetUnsigned)
|
|
116
118
|
MAP_TYPE(CacheNode)
|
|
117
119
|
MAP_TYPE(FilePool)
|
|
118
120
|
MAP_TYPE(CollectionHeader)
|
|
@@ -254,6 +256,8 @@ MAP_TYPE(WkbtotResult)
|
|
|
254
256
|
#define HeadersFree fiftyoneDegreesHeadersFree /**< Synonym for #fiftyoneDegreesHeadersFree function. */
|
|
255
257
|
#define PropertiesFree fiftyoneDegreesPropertiesFree /**< Synonym for #fiftyoneDegreesPropertiesFree function. */
|
|
256
258
|
#define FilePoolRelease fiftyoneDegreesFilePoolRelease /**< Synonym for #fiftyoneDegreesFilePoolRelease function. */
|
|
259
|
+
#define FileSeek fiftyoneDegreesFileSeek /**< Synonym for #fiftyoneDegreesFileSeek function. */
|
|
260
|
+
#define FileTell fiftyoneDegreesFileTell /**< Synonym for #fiftyoneDegreesFileTell function. */
|
|
257
261
|
#define FileDelete fiftyoneDegreesFileDelete /**< Synonym for #fiftyoneDegreesFileDelete function. */
|
|
258
262
|
#define FilePoolReset fiftyoneDegreesFilePoolReset /**< Synonym for #fiftyoneDegreesFilePoolReset function. */
|
|
259
263
|
#define PropertiesCreate fiftyoneDegreesPropertiesCreate /**< Synonym for #fiftyoneDegreesPropertiesCreate function. */
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
#ifdef _MSC_VER
|
|
29
29
|
#include <windows.h>
|
|
30
30
|
#else
|
|
31
|
+
#include <stdio.h>
|
|
31
32
|
#include <unistd.h>
|
|
32
33
|
#endif
|
|
33
34
|
|
|
@@ -77,14 +78,48 @@ static void freeFileHandle(Pool *pool, void *fileHandle) {
|
|
|
77
78
|
#pragma warning (default:4100)
|
|
78
79
|
#endif
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
int fiftyoneDegreesFileSeek(
|
|
82
|
+
FILE * const stream,
|
|
83
|
+
const FileOffset offset,
|
|
84
|
+
const int origin) {
|
|
85
|
+
|
|
86
|
+
return
|
|
87
|
+
#ifdef FIFTYONE_DEGREES_LARGE_DATA_FILE_SUPPORT
|
|
88
|
+
# ifdef _MSC_VER
|
|
89
|
+
_fseeki64
|
|
90
|
+
# else
|
|
91
|
+
fseeko
|
|
92
|
+
# endif
|
|
93
|
+
#else
|
|
94
|
+
fseek
|
|
95
|
+
#endif
|
|
96
|
+
(stream, offset, origin);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
FileOffset fiftyoneDegreesFileTell(FILE * const stream) {
|
|
100
|
+
|
|
101
|
+
return
|
|
102
|
+
#ifdef FIFTYONE_DEGREES_LARGE_DATA_FILE_SUPPORT
|
|
103
|
+
# ifdef _MSC_VER
|
|
104
|
+
_ftelli64
|
|
105
|
+
# else
|
|
106
|
+
ftello
|
|
107
|
+
# endif
|
|
108
|
+
#else
|
|
109
|
+
ftell
|
|
110
|
+
#endif
|
|
111
|
+
(stream);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
static FileOffset fileGetSize(FILE *file) {
|
|
81
116
|
if (fseek(file, 0L, SEEK_END) == 0) {
|
|
82
|
-
return
|
|
117
|
+
return FileTell(file);
|
|
83
118
|
}
|
|
84
119
|
return -1;
|
|
85
120
|
}
|
|
86
121
|
|
|
87
|
-
static
|
|
122
|
+
static FileOffset setLength(FilePool *reader, Exception *exception) {
|
|
88
123
|
FileHandle *handle;
|
|
89
124
|
reader->length = 0;
|
|
90
125
|
handle = FileHandleGet(reader, exception);
|
|
@@ -259,7 +294,7 @@ static bool compareFiles(
|
|
|
259
294
|
long bytesToCompare) {
|
|
260
295
|
StatusCode status;
|
|
261
296
|
FILE *file, *otherFile;
|
|
262
|
-
|
|
297
|
+
FileOffset size, read;
|
|
263
298
|
byte buffer[1024], otherBuffer[1024];
|
|
264
299
|
|
|
265
300
|
// Compare the sizes.
|
|
@@ -278,11 +313,11 @@ static bool compareFiles(
|
|
|
278
313
|
return false;
|
|
279
314
|
}
|
|
280
315
|
|
|
281
|
-
while (
|
|
282
|
-
(bytesToCompare < 0 ||
|
|
316
|
+
while (FileTell(file) < size &&
|
|
317
|
+
(bytesToCompare < 0 || FileTell(file) < bytesToCompare)) {
|
|
283
318
|
read = bytesToCompare > 0 ? bytesToCompare : (long)sizeof(buffer);
|
|
284
|
-
if (size -
|
|
285
|
-
read = size -
|
|
319
|
+
if (size - FileTell(file) < read) {
|
|
320
|
+
read = size - FileTell(file);
|
|
286
321
|
}
|
|
287
322
|
|
|
288
323
|
if (fread(buffer, read, 1, file) != 1) {
|
|
@@ -1041,9 +1076,9 @@ fiftyoneDegreesStatusCode fiftyoneDegreesFileCopy(
|
|
|
1041
1076
|
return status;
|
|
1042
1077
|
}
|
|
1043
1078
|
|
|
1044
|
-
|
|
1079
|
+
FileOffset fiftyoneDegreesFileGetSize(const char *source) {
|
|
1045
1080
|
FILE *sourceFile;
|
|
1046
|
-
|
|
1081
|
+
FileOffset size = -1;
|
|
1047
1082
|
if (FileOpen(source, &sourceFile) == SUCCESS) {
|
|
1048
1083
|
size = fileGetSize(sourceFile);
|
|
1049
1084
|
fclose(sourceFile);
|
|
@@ -171,6 +171,7 @@
|
|
|
171
171
|
#include <limits.h>
|
|
172
172
|
#include <time.h>
|
|
173
173
|
#include "data.h"
|
|
174
|
+
#include "fileOffset.h"
|
|
174
175
|
#include "exceptions.h"
|
|
175
176
|
#include "status.h"
|
|
176
177
|
#include "memory.h"
|
|
@@ -213,6 +214,7 @@
|
|
|
213
214
|
#define FIFTYONE_DEGREES_FILE_MAX_PATH 4096
|
|
214
215
|
#endif
|
|
215
216
|
|
|
217
|
+
|
|
216
218
|
/**
|
|
217
219
|
* File handle node in the stack of handles.
|
|
218
220
|
*/
|
|
@@ -226,9 +228,30 @@ typedef union fiftyone_degrees_file_handle_t {
|
|
|
226
228
|
*/
|
|
227
229
|
typedef struct fiftyone_degrees_file_pool_t {
|
|
228
230
|
fiftyoneDegreesPool pool; /**< The pool of file handles */
|
|
229
|
-
|
|
231
|
+
fiftyoneDegreesFileOffset length; /**< Length of the file in bytes */
|
|
230
232
|
} fiftyoneDegreesFilePool;
|
|
231
233
|
|
|
234
|
+
/**
|
|
235
|
+
* Moves the file pointer to a specified location.
|
|
236
|
+
* @param stream Pointer to FILE structure.
|
|
237
|
+
* @param offset Number of bytes from origin.
|
|
238
|
+
* @param origin Initial position.
|
|
239
|
+
* @return
|
|
240
|
+
*/
|
|
241
|
+
EXTERNAL int fiftyoneDegreesFileSeek(
|
|
242
|
+
FILE *stream,
|
|
243
|
+
fiftyoneDegreesFileOffset offset,
|
|
244
|
+
int origin);
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Gets the current position of a file pointer.
|
|
248
|
+
* @param stream Target FILE structure.
|
|
249
|
+
* @return The current file position.
|
|
250
|
+
*/
|
|
251
|
+
EXTERNAL fiftyoneDegreesFileOffset fiftyoneDegreesFileTell(
|
|
252
|
+
FILE *stream
|
|
253
|
+
);
|
|
254
|
+
|
|
232
255
|
/**
|
|
233
256
|
* Releases the file handles contained in the pool and frees any internal
|
|
234
257
|
* memory used by the pool. Does not free the memory pointed to by pool.
|
|
@@ -455,7 +478,7 @@ EXTERNAL void fiftyoneDegreesFileHandleRelease(
|
|
|
455
478
|
* @param fileName path to the file
|
|
456
479
|
* @return size of file in bytes or -1
|
|
457
480
|
*/
|
|
458
|
-
EXTERNAL
|
|
481
|
+
EXTERNAL fiftyoneDegreesFileOffset fiftyoneDegreesFileGetSize(const char *fileName);
|
|
459
482
|
|
|
460
483
|
/**
|
|
461
484
|
* Reads the contents of a file into memory. The correct amount of memory will
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
#ifndef FIFTYONE_DEGREES_FILE_OFFSET_H_INCLUDED
|
|
24
|
+
#define FIFTYONE_DEGREES_FILE_OFFSET_H_INCLUDED
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @ingroup FiftyOneDegreesCommon
|
|
28
|
+
* @defgroup FiftyOneDegreesFile FileOffset
|
|
29
|
+
*
|
|
30
|
+
* `FileOffset` offset types:
|
|
31
|
+
* - signed `FileOffset` -- for interop with native API (fseek/ftell)
|
|
32
|
+
* - unsigned `FileOffsetUnsigned` -- as present in data file
|
|
33
|
+
*
|
|
34
|
+
*
|
|
35
|
+
* if FIFTYONE_DEGREES_LARGE_DATA_FILE_SUPPORT macro is defined,
|
|
36
|
+
* both types will be 64-bit.
|
|
37
|
+
*
|
|
38
|
+
* Motivation for this is that an offset in a large file
|
|
39
|
+
* beyond 4GB is not addressable by a `uint32_t` variable.
|
|
40
|
+
*
|
|
41
|
+
* For files smaller than 4GB `uint32_t` is fully sufficient to address an offset.
|
|
42
|
+
*
|
|
43
|
+
* `fseek`/`ftell` functions MAY also fail on files larger than 2 GiB
|
|
44
|
+
* due to the limitations of `long int` type used,
|
|
45
|
+
* so enabling the option MIGHT be necessary in those cases as well.
|
|
46
|
+
*
|
|
47
|
+
* On POSIX systems `_FILE_OFFSET_BITS` should be defined as `64` at the same time
|
|
48
|
+
* for `off_t` (used by `fseeko`/`ftello` from `<stdio.h>`) to be 64-bit as well.
|
|
49
|
+
*
|
|
50
|
+
* @{
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
#include <stdint.h>
|
|
54
|
+
|
|
55
|
+
typedef
|
|
56
|
+
#ifdef FIFTYONE_DEGREES_LARGE_DATA_FILE_SUPPORT
|
|
57
|
+
uint64_t
|
|
58
|
+
#else
|
|
59
|
+
uint32_t
|
|
60
|
+
#endif
|
|
61
|
+
fiftyoneDegreesFileOffsetUnsigned; /**< Type for collection start offset (in file). [unsigned] */
|
|
62
|
+
|
|
63
|
+
typedef
|
|
64
|
+
#ifdef FIFTYONE_DEGREES_LARGE_DATA_FILE_SUPPORT
|
|
65
|
+
int64_t
|
|
66
|
+
#else
|
|
67
|
+
long
|
|
68
|
+
#endif
|
|
69
|
+
fiftyoneDegreesFileOffset; /**< Type for file offset in API. [signed] */
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @}
|
|
73
|
+
*/
|
|
74
|
+
#endif
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
#include "threading.h"
|
|
41
41
|
#include "tree.h"
|
|
42
42
|
#include "common.h"
|
|
43
|
+
#include "fileOffset.h"
|
|
43
44
|
|
|
44
45
|
#ifdef _MSC_VER
|
|
45
46
|
#define FIFTYONE_DEGREES_CALL_CONV __cdecl
|
|
@@ -54,7 +55,7 @@ typedef struct fiftyone_degrees_memory_reader_t {
|
|
|
54
55
|
byte *startByte; /**< The first byte in memory */
|
|
55
56
|
byte *current; /**< The current byte being read from */
|
|
56
57
|
byte *lastByte; /**< The maximum byte that can be read from */
|
|
57
|
-
|
|
58
|
+
fiftyoneDegreesFileOffset length; /**< Length of the file in bytes */
|
|
58
59
|
} fiftyoneDegreesMemoryReader;
|
|
59
60
|
|
|
60
61
|
/**
|
|
@@ -44,6 +44,12 @@ static uint32_t getFinalIntegerSize(void *initial) {
|
|
|
44
44
|
|
|
45
45
|
#ifndef FIFTYONE_DEGREES_MEMORY_ONLY
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Type for temporary memory keeping the value of
|
|
49
|
+
* `storedValueType`: `fiftyoneDegreesPropertyValueType`
|
|
50
|
+
* for "File" and/or "Partial" collections
|
|
51
|
+
* between calls from `StoredBinaryValueGet` to `StoredBinaryValueRead`.
|
|
52
|
+
*/
|
|
47
53
|
typedef uint8_t PropertyValueTypeInData;
|
|
48
54
|
|
|
49
55
|
void* fiftyoneDegreesStoredBinaryValueRead(
|
|
@@ -52,10 +58,20 @@ void* fiftyoneDegreesStoredBinaryValueRead(
|
|
|
52
58
|
fiftyoneDegreesData * const data,
|
|
53
59
|
fiftyoneDegreesException * const exception) {
|
|
54
60
|
int16_t length;
|
|
61
|
+
|
|
62
|
+
// When collection getter is called from `StoredBinaryValueRead`,
|
|
63
|
+
// the latter will save `storedValueType` into item's Data.
|
|
64
|
+
//
|
|
65
|
+
// Otherwise -- if the data is in clear state (e.g. after DataReset),
|
|
66
|
+
// the caller is assumed to have requested a "String" value.
|
|
67
|
+
// (for compatibility with `StringRead`-initialized collections).
|
|
68
|
+
|
|
55
69
|
if (data->used < sizeof(PropertyValueTypeInData)) {
|
|
56
|
-
// stored value type not known
|
|
70
|
+
// stored value type not known,
|
|
71
|
+
// => assume String
|
|
57
72
|
return fiftyoneDegreesStringRead(file, offset, data, exception);
|
|
58
73
|
};
|
|
74
|
+
|
|
59
75
|
const PropertyValueType storedValueType = *(const PropertyValueTypeInData *)data->ptr;
|
|
60
76
|
switch (storedValueType) {
|
|
61
77
|
case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING: {
|
|
@@ -108,15 +124,61 @@ StoredBinaryValue* fiftyoneDegreesStoredBinaryValueGet(
|
|
|
108
124
|
fiftyoneDegreesCollectionItem *item,
|
|
109
125
|
Exception *exception) {
|
|
110
126
|
|
|
127
|
+
#ifndef FIFTYONE_DEGREES_MEMORY_ONLY
|
|
128
|
+
// CollectionReadFileVariable subroutine needs to know
|
|
129
|
+
// - how many bytes constitute the "header" of the variable
|
|
130
|
+
// - how to extract the remaining "length" of the variable from the "header"
|
|
131
|
+
//
|
|
132
|
+
// for that we must pass `storedValueType`
|
|
133
|
+
|
|
134
|
+
// Allocate a memory to hold `storedValueType` on stack.
|
|
135
|
+
//
|
|
136
|
+
// Use an array to prevent a warning
|
|
137
|
+
// > `pointer to a local variable potentially escaping scope`
|
|
138
|
+
//
|
|
139
|
+
// The data will either:
|
|
140
|
+
// - remain unowned
|
|
141
|
+
// (and `ptr` won't be dereferenced),
|
|
142
|
+
// or
|
|
143
|
+
// - is already owned and considered disposable
|
|
144
|
+
// (so `storedValueType` will be copied, and no escaping will occur).
|
|
145
|
+
|
|
111
146
|
PropertyValueTypeInData storedValueTypeInData[1] = { storedValueType };
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
147
|
+
|
|
148
|
+
if (!item->data.allocated) {
|
|
149
|
+
// It is assumed -- as part of the Collection-CollectionItem contract --
|
|
150
|
+
// that data of the Item passed into "get" is NOT owned by that item.
|
|
151
|
+
|
|
116
152
|
item->data.ptr = (byte *)&storedValueTypeInData[0];
|
|
153
|
+
} else {
|
|
154
|
+
// Since _this_ function _technically_ is NOT a "getter method"
|
|
155
|
+
// we might still get an Item that owns some memory.
|
|
156
|
+
//
|
|
157
|
+
// Since no collection would leave Data pointing to internal memory
|
|
158
|
+
// (past COLLECTION_RELEASE call -- mandatory for Item to be reused)
|
|
159
|
+
// assume the Data is disposable.
|
|
160
|
+
//
|
|
161
|
+
// Ensure Data is of sufficient size and copy `storedValueType` into it.
|
|
162
|
+
|
|
163
|
+
DataMalloc(&item->data, sizeof(PropertyValueTypeInData));
|
|
164
|
+
*((PropertyValueTypeInData*)item->data.ptr) = storedValueTypeInData[0];
|
|
117
165
|
}
|
|
118
166
|
item->data.used = sizeof(PropertyValueTypeInData);
|
|
119
167
|
|
|
168
|
+
#else
|
|
169
|
+
// In MEMORY_ONLY mode,
|
|
170
|
+
//
|
|
171
|
+
// we only need to get the pointer to beginning of the data structure
|
|
172
|
+
// inside the whole body of the data file.
|
|
173
|
+
//
|
|
174
|
+
// `storedValueType` is not used, since we do not need to allocate
|
|
175
|
+
// a sufficient (unknown before reading starts) amount of memory
|
|
176
|
+
// to read the bytes into.
|
|
177
|
+
# ifdef _MSC_VER
|
|
178
|
+
UNREFERENCED_PARAMETER(storedValueType);
|
|
179
|
+
# endif
|
|
180
|
+
#endif
|
|
181
|
+
|
|
120
182
|
StoredBinaryValue * const result = strings->get(
|
|
121
183
|
strings,
|
|
122
184
|
offset,
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
#include "../collection.h"
|
|
27
27
|
#include "../string.h"
|
|
28
|
+
#include "../fileOffset.h"
|
|
28
29
|
#include <vector>
|
|
29
30
|
|
|
30
31
|
typedef struct fixed_size_collection_state_t {
|
|
@@ -63,7 +64,7 @@ FixedSizeCollection<T>::FixedSizeCollection(const std::vector<T> &values) {
|
|
|
63
64
|
size_t dataLength = values.size() * sizeof(T);
|
|
64
65
|
state.count = (uint32_t) values.size();
|
|
65
66
|
|
|
66
|
-
reader.length = (
|
|
67
|
+
reader.length = (fiftyoneDegreesFileOffset)(dataLength + sizeof(uint32_t));
|
|
67
68
|
state.data = fiftyoneDegreesMalloc(reader.length);
|
|
68
69
|
*(int32_t*)state.data = (int32_t)dataLength;
|
|
69
70
|
state.offsets = (uint32_t*)fiftyoneDegreesMalloc(values.size() * sizeof(uint32_t));
|
|
@@ -63,7 +63,7 @@ VariableSizeCollection<T>::VariableSizeCollection(const std::vector<T> &values)
|
|
|
63
63
|
size_t dataLength = values.size() * sizeof(T);
|
|
64
64
|
state.count = (uint32_t) values.size();
|
|
65
65
|
|
|
66
|
-
reader.length = (
|
|
66
|
+
reader.length = (FileOffset)(dataLength + sizeof(uint32_t));
|
|
67
67
|
state.data = fiftyoneDegreesMalloc(reader.length);
|
|
68
68
|
*(int32_t*)state.data = (int32_t)dataLength;
|
|
69
69
|
state.offsets = (uint32_t*)fiftyoneDegreesMalloc(values.size() * sizeof(uint32_t));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiftyone-devicedetection-onpremise
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.0a30
|
|
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
|
|
@@ -118,6 +118,7 @@ src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c
|
|
|
118
118
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h
|
|
119
119
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c
|
|
120
120
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h
|
|
121
|
+
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fileOffset.h
|
|
121
122
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c
|
|
122
123
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h
|
|
123
124
|
src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.5.0-alpha.30
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.0-alpha.29
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiftyone_devicedetection_onpremise-4.5.0a29 → fiftyone_devicedetection_onpremise-4.5.0a30}/setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|