\r\n

51Degrees Device Detection C/C++  4.4

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

value.h

1 /* *********************************************************************
2  * This Original Work is copyright of 51 Degrees Mobile Experts Limited.
3  * Copyright 2023 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_PROPERTY_VALUE_H_INCLUDED
24 #define FIFTYONE_DEGREES_PROPERTY_VALUE_H_INCLUDED
25 
54 #include <stdint.h>
55 #ifdef _MSC_VER
56 #pragma warning (push)
57 #pragma warning (disable: 5105)
58 #include <windows.h>
59 #pragma warning (default: 5105)
60 #pragma warning (pop)
61 #endif
62 #include "data.h"
63 #include "exceptions.h"
64 #include "collection.h"
65 #include "string.h"
66 #include "property.h"
67 #include "profile.h"
68 #include "common.h"
69 
71 #pragma pack(push, 2)
72 typedef struct fiftyoneDegrees_value_t {
73  const int16_t propertyIndex;
74  const int32_t nameOffset;
76  const int32_t descriptionOffset;
78  const int32_t urlOffset;
81 #pragma pack(pop)
82 
96  fiftyoneDegreesValue *value,
98  fiftyoneDegreesException *exception);
99 
112  fiftyoneDegreesCollection *strings,
113  fiftyoneDegreesValue *value,
115  fiftyoneDegreesException *exception);
116 
129  fiftyoneDegreesCollection *strings,
130  fiftyoneDegreesValue *value,
132  fiftyoneDegreesException *exception);
133 
145  uint32_t valueIndex,
147  fiftyoneDegreesException *exception);
148 
162  fiftyoneDegreesCollection *strings,
163  fiftyoneDegreesProperty *property,
164  const char *valueName,
166  fiftyoneDegreesException *exception);
167 
180  fiftyoneDegreesCollection *strings,
181  fiftyoneDegreesProperty *property,
182  const char *valueName,
183  fiftyoneDegreesException *exception);
184 
189 #endif
const int32_t urlOffset
The offset in the strings structure to the value URL.
Definition: value.h:78
fiftyoneDegreesString * fiftyoneDegreesValueGetName(fiftyoneDegreesCollection *strings, fiftyoneDegreesValue *value, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Returns the string name of the value using the item provided.
fiftyoneDegreesString * fiftyoneDegreesValueGetUrl(fiftyoneDegreesCollection *strings, fiftyoneDegreesValue *value, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Returns the string URL of the value using the item provided.
Used to store a handle to the underlying item that could be used to release the item when it's finish...
Definition: collection.h:310
String structure containing its value and size.
Definition: string.h:109
fiftyoneDegreesValue * fiftyoneDegreesValueGet(fiftyoneDegreesCollection *values, uint32_t valueIndex, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Gets the value for the requested index from the collection provided.
const int32_t nameOffset
The offset in the strings structure to the value name.
Definition: value.h:74
Value structure containing meta data relating to the value.
Definition: value.h:72
Property structure containing all the meta data relating to a property.
Definition: property.h:85
fiftyoneDegreesValue * fiftyoneDegreesValueGetByName(fiftyoneDegreesCollection *values, fiftyoneDegreesCollection *strings, fiftyoneDegreesProperty *property, const char *valueName, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Get the value for the requested name from the collection provided.
const int16_t propertyIndex
Index of the property the value relates to.
Definition: value.h:73
const int32_t descriptionOffset
The offset in the strings structure to the value description.
Definition: value.h:76
Structure used to represent a 51Degrees exception and passed into methods that might generate excepti...
Definition: exceptions.h:111
long fiftyoneDegreesValueGetIndexByName(fiftyoneDegreesCollection *values, fiftyoneDegreesCollection *strings, fiftyoneDegreesProperty *property, const char *valueName, fiftyoneDegreesException *exception)
Get index of the value for the requested name from the collection provided.
All the shared methods and fields required by file, memory and cached collections.
Definition: collection.h:410
fiftyoneDegreesString * fiftyoneDegreesValueGetDescription(fiftyoneDegreesCollection *strings, fiftyoneDegreesValue *value, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Returns the string description of the value using the item provided.