51Degrees Device Detection .NET  4.1

Device detection services for 51Degrees Pipeline

FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine Class Reference

Detailed Description

Hash device detection engine.

This engine takes User-Agents and other relevant HTTP headers and returns properties about the device which produced them e.g. DeviceType or ReleaseDate.

Inheritance diagram for FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine:

[legend]

Collaboration diagram for FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine:

[legend]

Public Member Functions

override void  RefreshData (string dataFileIdentifier)
Called when update data is available in order to get the engine to refresh it's internal data structures. More...
override void  RefreshData (string dataFileIdentifier, Stream stream)
Called when update data is available in order to get the engine to refresh it's internal data structures. More...
override string  GetDataDownloadType (string identifier)
Get the value to use for the 'Type' parameter when calling the 51Degrees Distributor service to check for a newer data file. More...

Public Attributes

override string  ElementDataKey => "device"
The key to use for this element's data in a IFlowData instance. More...
override string  DataSourceTier => _engine.getType()
The tier of the data that is currently being used by this engine. More...
bool  AutomaticUpdatesEnabled => _engine.getAutomaticUpdatesEnabled()
True if the data used by this engine will automatically be updated when a new file is available. More...
override IEvidenceKeyFilter  EvidenceKeyFilter => _evidenceKeyFilter
A filter that defines the evidence that this engine can make use of. More...

Protected Member Functions

override void  ProcessEngine (IFlowData data, IDeviceDataHash deviceData)
Perform processing for this engine More...
override void  UnmanagedResourcesCleanup ()
Dispose of any unmanaged resources. More...

Properties

override IList< IFiftyOneAspectPropertyMetaData >  Properties [get]
Get the meta-data for properties populated by this engine. More...
override IEnumerable< IProfileMetaData >  Profiles [get]
Get the meta-data for profiles that may be returned by this engine. More...
override IEnumerable< IComponentMetaData >  Components [get]
Get the meta-data for components populated by this engine. More...
override IEnumerable< IValueMetaData >  Values [get]
Get the meta-data for values that can be returned by this engine. More...

Events

override EventHandler< EventArgs >  RefreshCompleted
This event is fired whenever the data that this engine makes use of has been updated. More...

Member Function Documentation

◆ GetDataDownloadType()

override string FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.GetDataDownloadType ( string   identifier )

Get the value to use for the 'Type' parameter when calling the 51Degrees Distributor service to check for a newer data file.

Parameters
identifier - The identifier of the data file to get the type for. This engine only uses one file so this parameter is ignored.
Returns
A string

◆ ProcessEngine()

override void FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.ProcessEngine ( IFlowData   data,
IDeviceDataHash   deviceData  
)
protected

Perform processing for this engine

Parameters
data - The IFlowData instance containing data for the current request.
deviceData - The IDeviceDataHash instance to populate with property values
Exceptions
ArgumentNullException - Thrown if a required parameter is null

◆ RefreshData() [1/2]

override void FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.RefreshData ( string   dataFileIdentifier )

Called when update data is available in order to get the engine to refresh it's internal data structures.

This overload is used if the data is a physical file on disk.

Parameters
dataFileIdentifier - The identifier of the data file to update. This engine only uses one data file so this parameter is ignored.

◆ RefreshData() [2/2]

override void FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.RefreshData ( string   dataFileIdentifier,
Stream   stream  
)

Called when update data is available in order to get the engine to refresh it's internal data structures.

This overload is used when the data is presented as a Stream, usually a MemoryStream.

Parameters
dataFileIdentifier - The identifier of the data file to update. This engine only uses one data file so this parameter is ignored.
stream - The Stream containing the data to refresh the engine with.

◆ UnmanagedResourcesCleanup()

override void FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.UnmanagedResourcesCleanup ( )
protected

Dispose of any unmanaged resources.

Member Data Documentation

◆ AutomaticUpdatesEnabled

bool FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.AutomaticUpdatesEnabled => _engine.getAutomaticUpdatesEnabled()

True if the data used by this engine will automatically be updated when a new file is available.

False if the data will only be updated manually.

◆ DataSourceTier

override string FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.DataSourceTier => _engine.getType()

The tier of the data that is currently being used by this engine.

For example, 'Lite' or 'Enterprise'

◆ ElementDataKey

override string FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.ElementDataKey => "device"

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

◆ EvidenceKeyFilter

override IEvidenceKeyFilter FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.EvidenceKeyFilter => _evidenceKeyFilter

A filter that defines the evidence that this engine can make use of.

Property Documentation

◆ Components

override IEnumerable<IComponentMetaData> FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.Components
get

Get the meta-data for components populated by this engine.

◆ Profiles

override IEnumerable<IProfileMetaData> FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.Profiles
get

Get the meta-data for profiles that may be returned by this engine.

◆ Properties

override IList<IFiftyOneAspectPropertyMetaData> FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.Properties
get

Get the meta-data for properties populated by this engine.

◆ Values

override IEnumerable<IValueMetaData> FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.Values
get

Get the meta-data for values that can be returned by this engine.

Event Documentation

◆ RefreshCompleted

override EventHandler<EventArgs> FiftyOne.DeviceDetection.Hash.Engine.OnPremise.FlowElements.DeviceDetectionHashEngine.RefreshCompleted

This event is fired whenever the data that this engine makes use of has been updated.