automotive-message-broker  0.14.803
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
AbstractSource Class Referenceabstract
Inheritance diagram for AbstractSource:
AbstractSink AmbPlugin< T > ExampleSourcePlugin MurphySource OBD2Source OpenXCPlugin TestPlugin WebSocketSource WheelSourcePlugin

Public Types

enum  Operations { Get = 0x01, Set = 0x02, GetRanged = 0x04 }
 The Operations enum is a bitmask flag used to specify which operations are supported by the source plugin.
 

Public Member Functions

 AbstractSource (AbstractRoutingEngine *engine, map< string, string > config)
 
virtual void getPropertyAsync (AsyncPropertyReply *reply)=0
 pure virtual methods:
 
virtual void getRangePropertyAsync (AsyncRangePropertyReply *reply)=0
 getRangePropertyAsync is called when a sink requests a series of values for a given property within a specified time or sequencial range. This will only be called if the source support the Ranged Operation (
 
virtual AsyncPropertyReplysetProperty (AsyncSetPropertyRequest request)=0
 setProperty is called when a sink requests to set a value for a given property. This is only called if the source supports the Set Operation (
 
virtual void subscribeToPropertyChanges (VehicleProperty::Property property)=0
 subscribeToPropertyChanges is called when a sink requests a subscription. Source plugins can keep track of subscriptions and may wish to sleep if there are no subscriptions.
 
virtual void unsubscribeToPropertyChanges (VehicleProperty::Property property)=0
 unsubscribeToPropertyChanges is called when a sink requests to unsubscribe from a given property's changes.
 
virtual int supportedOperations ()=0
 supportedOperations
 
virtual PropertyInfo getPropertyInfo (const VehicleProperty::Property &property)=0
 getPropertyInfo used to return specific information about a property
 
virtual PropertyList supported ()=0
 supported
 
- Public Member Functions inherited from AbstractSink
 AbstractSink (AbstractRoutingEngine *engine, map< string, string > config)
 
virtual const string uuid ()=0
 Pure virtual methods:
 
virtual void propertyChanged (AbstractPropertyType *value)
 propertyChanged is called when a subscribed to property changes.
 
virtual void supportedChanged (const PropertyList &supportedProperties)=0
 

Protected Attributes

AbstractRoutingEngineroutingEngine
 routingEngine the core routing engine used to send property updates to sink plugins.
 
- Protected Attributes inherited from AbstractSink
AbstractRoutingEngineroutingEngine
 routingEngine is the core of AMB. It is used to pass plugin and property information to other plugins
 
map< string, string > configuration
 

Member Function Documentation

virtual void AbstractSource::getPropertyAsync ( AsyncPropertyReply reply)
pure virtual

pure virtual methods:

getPropertyAsync is called when a sink requests the value for given property. This is only called if the source supports the Get operation (

See Also
Operation)
Parameters
replythe reply variable.
See Also
AsyncPropertyReply

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, ExampleSourcePlugin, OpenXCPlugin, and WebSocketSource.

virtual PropertyInfo AbstractSource::getPropertyInfo ( const VehicleProperty::Property &  property)
pure virtual

getPropertyInfo used to return specific information about a property

See Also
PropertyInfo the source should override this otherwise a PropertyInfo::invalid() will be returned for the property
Parameters
propertythe property to get info for.
Returns
a PropertyInfo object.

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, WebSocketSource, TestPlugin, WheelSourcePlugin, and ExampleSourcePlugin.

virtual void AbstractSource::getRangePropertyAsync ( AsyncRangePropertyReply reply)
pure virtual

getRangePropertyAsync is called when a sink requests a series of values for a given property within a specified time or sequencial range. This will only be called if the source support the Ranged Operation (

See Also
Operations)
Parameters
replyis the reply variable.
See Also
AsyncRangePropertyReply

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, ExampleSourcePlugin, OpenXCPlugin, and WebSocketSource.

virtual AsyncPropertyReply* AbstractSource::setProperty ( AsyncSetPropertyRequest  request)
pure virtual

setProperty is called when a sink requests to set a value for a given property. This is only called if the source supports the Set Operation (

See Also
Operation)
Parameters
requestthe requested property to set.
Returns
returns a pointer to the new value for the property.
See Also
AsyncPropertyReply

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, ExampleSourcePlugin, OpenXCPlugin, and WebSocketSource.

virtual void AbstractSource::subscribeToPropertyChanges ( VehicleProperty::Property  property)
pure virtual

subscribeToPropertyChanges is called when a sink requests a subscription. Source plugins can keep track of subscriptions and may wish to sleep if there are no subscriptions.

Parameters
propertythe property that is being subscribed.
See Also
unsubscribeToPropertyChanges

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, WebSocketSource, ExampleSourcePlugin, and OpenXCPlugin.

virtual PropertyList AbstractSource::supported ( )
pure virtual

supported

Returns
returns the supported properties.

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, WebSocketSource, ExampleSourcePlugin, and OpenXCPlugin.

virtual int AbstractSource::supportedOperations ( )
pure virtual

supportedOperations

Returns
returns the supported operations.
See Also
Operations

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, WebSocketSource, ExampleSourcePlugin, and OpenXCPlugin.

virtual void AbstractSource::unsubscribeToPropertyChanges ( VehicleProperty::Property  property)
pure virtual

unsubscribeToPropertyChanges is called when a sink requests to unsubscribe from a given property's changes.

Parameters
propertythe property to unsubscribe to
See Also
subscribeToPropertyChanges

Implemented in OBD2Source, AmbPlugin< T >, MurphySource, TestPlugin, WheelSourcePlugin, WebSocketSource, ExampleSourcePlugin, and OpenXCPlugin.

Member Data Documentation

AbstractRoutingEngine* AbstractSource::routingEngine
protected

routingEngine the core routing engine used to send property updates to sink plugins.

See Also
AbstractRoutingEngine

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