#include "dataset-dd.h"
#include "fiftyone.h"
#ifdef min
#define MIN(a,b) min(a,b)
#else
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
fiftyoneDegreesStatusCode
fiftyoneDegreesDataSetDeviceDetectionInitPropertiesAndHeaders(
fiftyoneDegreesDataSetDeviceDetection *dataSet,
fiftyoneDegreesPropertiesRequired *properties,
void *state,
fiftyoneDegreesPropertiesGetMethod getPropertyMethod,
fiftyoneDegreesHeadersGetMethod getHeaderMethod,
fiftyoneDegreesOverridesFilterMethod overridesFilter,
fiftyoneDegreesEvidencePropertiesGetMethod getEvidencePropertiesMethod) {
StatusCode status = DataSetInitProperties(
&dataSet->b,
properties,
state,
getPropertyMethod,
getEvidencePropertiesMethod);
if (status != SUCCESS) {
return status;
}
status = DataSetInitHeaders(
&dataSet->b,
state,
getHeaderMethod);
if (status != SUCCESS) {
return status;
}
dataSet->uniqueUserAgentHeaderIndex = HeaderGetIndex(
dataSet->b.uniqueHeaders,
"User-Agent",
sizeof("User-Agent") - 1);
dataSet->b.overridable = OverridePropertiesCreate(
dataSet->b.available,
true,
state,
overridesFilter);
return status;
}
void fiftyoneDegreesDataSetDeviceDetectionRelease(
fiftyoneDegreesDataSetDeviceDetection *dataSet) {
DataSetRelease(&dataSet->b);
}
void fiftyoneDegreesDataSetDeviceDetectionFree(
fiftyoneDegreesDataSetDeviceDetection *dataSet) {
DataSetFree(&dataSet->b);
}
fiftyoneDegreesDataSetDeviceDetection*
fiftyoneDegreesDataSetDeviceDetectionGet(
fiftyoneDegreesResourceManager *manager) {
return (DataSetDeviceDetection*)DataSetGet(manager);
}
void fiftyoneDegreesDataSetDeviceDetectionReset(
fiftyoneDegreesDataSetDeviceDetection *dataSet) {
DataSetReset(&dataSet->b);
dataSet->uniqueUserAgentHeaderIndex = 0;
}