\r\n

51Degrees Device Detection .NET  4.3Newer Version 4.4

Device detection services for 51Degrees Pipeline

FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine Class Reference

Detailed Description

Engine that takes the JSON response from the CloudRequestEngine and uses it populate a DeviceDataCloud instance for easier consumption.

Inheritance diagram for FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine:

[legend]

Collaboration diagram for FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine:

[legend]

Public Member Functions

 DeviceDetectionCloudEngine (ILogger< DeviceDetectionCloudEngine > logger, Func< IPipeline, FlowElementBase< DeviceDataCloud, IAspectPropertyMetaData >, DeviceDataCloud > deviceDataFactory)
Constructor More...

Public Attributes

override string  ElementDataKey => "device"
The key to use for storing this engine's data in a IFlowData instance. More...
override IEvidenceKeyFilter  EvidenceKeyFilter
The filter that defines the evidence that is used by this engine. More...

Protected Member Functions

override void  ProcessCloudEngine (IFlowData data, DeviceDataCloud aspectData, string json)
Perform the processing for this engine: More...
override Type  GetPropertyType (PropertyMetaData propertyMetaData, Type parentObjectType)

Constructor & Destructor Documentation

◆ DeviceDetectionCloudEngine()

FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine.DeviceDetectionCloudEngine ( ILogger< DeviceDetectionCloudEngine >   logger,
Func< IPipeline, FlowElementBase< DeviceDataCloud, IAspectPropertyMetaData >, DeviceDataCloud >   deviceDataFactory  
)

Constructor

Parameters
logger - The logger for this instance to use
deviceDataFactory - Factory function to use when creating aspect data instances.

Member Function Documentation

◆ ProcessCloudEngine()

override void FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine.ProcessCloudEngine ( IFlowData   data,
DeviceDataCloud   aspectData,
string   json  
)
protected

Perform the processing for this engine:

  1. Extract properties relevant to this engine from the JSON.
  2. Deserialize JSON data to populate a DeviceDataCloud instance.
Parameters
data - The IFlowData instance containing data for the current request.
aspectData - The DeviceDataCloud instance to populate with values.
json - The JSON data from the CloudRequestEngine response.
Exceptions
ArgumentNullException - Thrown if a required parameter is null

Member Data Documentation

◆ ElementDataKey

override string FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine.ElementDataKey => "device"

The key to use for storing this engine's data in a IFlowData instance.

◆ EvidenceKeyFilter

override IEvidenceKeyFilter FiftyOne.DeviceDetection.Cloud.FlowElements.DeviceDetectionCloudEngine.EvidenceKeyFilter
Initial value:
=>
new EvidenceKeyFilterWhitelist(new List<string>())

The filter that defines the evidence that is used by this engine.

This engine needs no evidence as it works from the response from the ICloudRequestEngine.