51Degrees Device Detection C/C++  4.1

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

FiftyoneDegrees::Common::EvidenceBase Class Reference

Detailed Description

Base evidence class containing evidence to be processed by an engine.

This wraps a dynamically generated C evidence structure.

The class extends the map<string, string> template to add a method of constructing a C evidence structure from the key value pairs.

Usage Example

using namespace FiftyoneDegrees::Common;
EngineBase *engine;
// Construct a new evidence instance
EvidenceBase *evidence = new EvidenceBase();
// Add an item of evidence
evidence->operator[]("evidence key") = "evidence value";
// Give the evidence to an engine for processing
ResultsBase *results = engine->processBase(evidence);
// Do something with the results (and delete them once finished)
// ...
// Delete the evidence
delete evidence;

Inheritance diagram for FiftyoneDegrees::Common::EvidenceBase:

[legend]

Collaboration diagram for FiftyoneDegrees::Common::EvidenceBase:

[legend]

Public Member Functions

Constructors and Destructors

 EvidenceBase ()
Construct a new instance containing no evidence.
 ~EvidenceBase ()
Free all the underlying memory containing the evidence.

Getters

fiftyoneDegreesEvidenceKeyValuePairArray *  get ()
Get the underlying C structure containing the evidence. More...

Overrides

void  clear ()
Clear all evidence items from the instance.
void  erase (iterator position)
Remove the evidence item at the position indicated. More...
void  erase (iterator first, iterator last)
Remove the evidence items between the two position indicated. More...

Protected Member Functions

virtual bool  isRelevant (fiftyoneDegreesEvidencePrefix prefix)
Get whether or not the evidence key prefix is relevant or not. More...

Member Function Documentation

◆ erase() [1/2]

void FiftyoneDegrees::Common::EvidenceBase::erase ( iterator   position )

Remove the evidence item at the position indicated.

Parameters
position - of the item to remove

◆ erase() [2/2]

void FiftyoneDegrees::Common::EvidenceBase::erase ( iterator   first,
iterator   last  
)

Remove the evidence items between the two position indicated.

Parameters
first - item to remove
last - item to remove

◆ get()

fiftyoneDegreesEvidenceKeyValuePairArray* FiftyoneDegrees::Common::EvidenceBase::get ( )

Get the underlying C structure containing the evidence.

This only includes evidence which is relevant to the engine. Any evidence which is irrelevant will not be included in the result.

Returns
pointer to a populated C evidence structure

◆ isRelevant()

virtual bool FiftyoneDegrees::Common::EvidenceBase::isRelevant ( fiftyoneDegreesEvidencePrefix   prefix )
protected virtual

Get whether or not the evidence key prefix is relevant or not.

If the prefix is not relevant or not known then it is of no use to the engine processing it.

Parameters
prefix - extracted from the evidence key
Returns
true if the key prefix relevant and should be used

Reimplemented in FiftyoneDegrees::DeviceDetection::EvidenceDeviceDetection.


The documentation for this class was generated from the following file: