A device detection library that is used natively or by 51Degrees products

ConfigDeviceDetection.hpp

1/* *********************************************************************
2 * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3 * Copyright 2026 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_CONFIG_DEVICE_DETECTION_HPP
24#define FIFTYONE_DEGREES_CONFIG_DEVICE_DETECTION_HPP
25
26#include <cstddef>
27#include "../common/ConfigBase.hpp"
28#include "config-dd.h"
29
30using namespace FiftyoneDegrees::Common;
31
32namespace FiftyoneDegrees {
33 namespace DeviceDetection {
66 public:
71
76
82
90 void setUpdateMatchedUserAgent(bool update);
91
108
116 void setAllowUnmatched(bool allow);
117
123 void setProcessSpecialEvidence(bool process);
124
132
141
150
158
162 private:
165 };
166 }
167}
168
169#endif
ConfigBase(fiftyoneDegreesConfigBase *config)
Constructs a new instance of the configuration with a reference to the C configuration provided.
ConfigDeviceDetection(fiftyoneDegreesConfigDeviceDetection *config)
Constructs a new instance of the configuration with a reference to the C configuration provided.
bool getUpdateMatchedUserAgent()
Gets whether the characters matched during processing should be stored in results.
void setProcessSpecialEvidence(bool process)
Set whether special evidence like getHighEntropyValues, Structured User Agents, or Device Ids,...
int getMaxMatchedUserAgentLength()
Get the limit in bytes on the length of a single header, a pseudo header and the matched User-Agent,...
void setMaxMatchedUserAgentLength(int length)
Set the limit in bytes on the length of a single header such as User-Agent, of a pseudo header includ...
void setUpdateMatchedUserAgent(bool update)
Set whether or not the matched User-Agent should be constructed.
bool getProcessSpecialEvidence()
Get whether special evidence like getHighEntropyValues, Structured User Agents, or Device Ids,...
bool getAllowUnmatched()
Get whether there should be at least one matched hash node (or substring) in order for the results to...
void setAllowUnmatched(bool allow)
Set whether there should be at least one matched hash node (or substring) in order for the results to...
Shared classes.
Definition Collection.hpp:31
Device Detection specific classes.
Definition ComponentMetaDataBuilderHash.hpp:34
A C++ wrapper class for transform.h conversion routines.
Definition ComponentMetaDataBuilderHash.hpp:33
Device detection configuration structure containing device detection specific configuration options,...
Definition config-dd.h:52