herald  2.0.0
Namespaces | Classes | Typedefs | Functions
herald::engine Namespace Reference

Engine classes provide for task scheduling, including complex inter-dependent tasks. More...

Namespaces

 Features
 Lists all Features currently supported by Herald providers.
 
 Priorities
 Convenience Priority values.
 

Classes

struct  Activity
 An activity that needs to be performed due to some state being achieved in a Sensor. More...
 
class  CoordinationProvider
 Coordination management class that arranges Sensor's periodic requirements and activity interdependencies. More...
 
class  Coordinator
 Coordinates all connection and activities used across all sensors within Herald. More...
 

Typedefs

using FeatureTag = herald::datatype::Data
 Herald implementation provided Feature tag/identifier.
 
using Priority = std::uint8_t
 A relative priority between different activities.
 
using Prerequisite = std::tuple< FeatureTag, std::optional< TargetIdentifier > >
 An absolute prerequisite required before an activity can take place. More...
 
using PrioritisedPrerequisite = std::tuple< FeatureTag, Priority, std::optional< TargetIdentifier > >
 a Presrequisite with a relative priority assigned to assist Herald to prioritise effectively.
 
using ActivityFunction = std::function< std::optional< Activity >(const Activity)>
 A convenience Function alias that invokes an activity and optionally returns a follow-on activity. More...
 

Functions

bool operator< (const std::reference_wrapper< CoordinationProvider > first, const std::reference_wrapper< CoordinationProvider > second)
 

Detailed Description

Engine classes provide for task scheduling, including complex inter-dependent tasks.

Typedef Documentation

◆ ActivityFunction

using herald::engine::ActivityFunction = typedef std::function<std::optional<Activity>(const Activity)>

A convenience Function alias that invokes an activity and optionally returns a follow-on activity.

callback for open and close connection Callback function or lambda provided by the Coordinator to be called once the action completes Activity execution function or lambda

◆ Prerequisite

using herald::engine::Prerequisite = typedef std::tuple<FeatureTag,std::optional<TargetIdentifier> >

An absolute prerequisite required before an activity can take place.

An example would be the presence of a Bluetooth connection to a specified Device.