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

ResultsDeviceDetection.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_RESULTS_DEVICE_DETECTION_HPP
24#define FIFTYONE_DEGREES_RESULTS_DEVICE_DETECTION_HPP
25
26#include "../common/ResultsBase.hpp"
27#include "results-dd.h"
28
29using namespace FiftyoneDegrees::Common;
30
31class EngineDeviceDetectionTests;
32
33namespace FiftyoneDegrees {
34 namespace DeviceDetection {
77 friend class ::EngineDeviceDetectionTests;
78 public:
83
89 shared_ptr<fiftyoneDegreesResourceManager> manager);
90
96
103 virtual string getDeviceId() const = 0;
104
111 virtual int getUserAgents() const = 0;
112
120 virtual string getUserAgent(int resultIndex) const = 0;
121
125
126 private:
129 };
130 }
131}
132
133#endif
ResultsBase(fiftyoneDegreesResultsBase *results, shared_ptr< fiftyoneDegreesResourceManager > manager)
Create a new instance of Results from the results structure provided.
virtual int getUserAgents() const =0
Returns the number of different User-Agents that were used in the results.
virtual string getDeviceId() const =0
Returns the unique device id if the Id property was included in the required list of properties when ...
virtual string getUserAgent(int resultIndex) const =0
Returns relevant parts of the User-Agent which most closely matched the target User-Agent if the Conf...
ResultsDeviceDetection(fiftyoneDegreesResultsDeviceDetection *results, shared_ptr< fiftyoneDegreesResourceManager > manager)
Create a new instance of Results from the results structure provided.
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 specific results structure which any device detection processing results should exte...
Definition results-dd.h:73