automotive-message-broker  0.12
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
AbstractRoutingEngine Class Referenceabstract

Public Types

typedef std::function< void(AbstractPropertyType
*value)> 
PropertyChangedType
 

Public Member Functions

 AbstractRoutingEngine (std::map< std::string, std::string > configuration)
 
virtual void registerSource (AbstractSource *src)=0
 
virtual void updateSupported (PropertyList added, PropertyList removed, AbstractSource *source)=0
 
void updateProperty (VehicleProperty::Property property, AbstractPropertyType *value, std::string uuid)
 Deprecated:
 
virtual void updateProperty (AbstractPropertyType *value, const std::string &uuid)=0
 
virtual PropertyList supported ()=0
 
virtual void registerSink (AbstractSink *self)=0
 sinks:
 
virtual void unregisterSink (AbstractSink *self)=0
 
virtual std::list< std::string > sourcesForProperty (const VehicleProperty::Property &property)=0
 
virtual AsyncPropertyReplygetPropertyAsync (AsyncPropertyRequest request)=0
 
virtual AsyncRangePropertyReplygetRangePropertyAsync (AsyncRangePropertyRequest request)=0
 
virtual AsyncPropertyReplysetProperty (AsyncSetPropertyRequest request)=0
 
virtual uint subscribeToProperty (const VehicleProperty::Property &propertyName, PropertyChangedType callback, std::string pid="")=0
 subscribeToProperty subscribes to propertyName. Value changes will be passed to callback. More...
 
virtual void unsubscribeToProperty (uint handle)=0
 unsubscribeToProperty More...
 
virtual bool subscribeToProperty (const VehicleProperty::Property &propertyName, AbstractSink *self)=0
 
virtual bool subscribeToProperty (const VehicleProperty::Property &propertyName, const std::string &sourceUuidFilter, AbstractSink *self)=0
 subscribeToProperty subscribe to changes made to a property value. More...
 
virtual bool subscribeToProperty (const VehicleProperty::Property &propertyName, const std::string &sourceUuidFilter, Zone::Type zoneFilter, AbstractSink *self)=0
 subscribeToProperty subscribe to changes made to a property value. More...
 
virtual bool unsubscribeToProperty (const VehicleProperty::Property &, AbstractSink *self)=0
 
virtual PropertyInfo getPropertyInfo (const VehicleProperty::Property &, const std::string &sourceUuid)=0
 

Protected Attributes

std::map< std::string,
std::string > 
mConfig
 

Member Function Documentation

virtual AsyncPropertyReply* AbstractRoutingEngine::getPropertyAsync ( AsyncPropertyRequest  request)
pure virtual

/brief getPropertyAsync requests a property value from a source. This call has a timeout and the callback specified in the request will always be called. /see AsyncPropertyRequest /see AsyncPropertyReply. /param request requested property. /return AsyncPropertyReply. The returned AsyncPropertyReply is owned by the caller of getPropertyAsync. /example AsyncPropertyRequest request; request.property = VehicleProperty::VehicleSpeed request.completed = [](AsyncPropertyReply* reply) { //you own the reply delete reply; }; routingEngine->getPropertyAsync(request);

virtual std::list<std::string> AbstractRoutingEngine::sourcesForProperty ( const VehicleProperty::Property &  property)
pure virtual

/brief sourcesForProperty /param property /return list of source uuid's that support the "property"

virtual uint AbstractRoutingEngine::subscribeToProperty ( const VehicleProperty::Property &  propertyName,
PropertyChangedType  callback,
std::string  pid = "" 
)
pure virtual

subscribeToProperty subscribes to propertyName. Value changes will be passed to callback.

Parameters
propertyName
callback
pidprocess id of the requesting application
Returns
subscription handle
virtual bool AbstractRoutingEngine::subscribeToProperty ( const VehicleProperty::Property &  propertyName,
const std::string &  sourceUuidFilter,
AbstractSink self 
)
pure virtual

subscribeToProperty subscribe to changes made to a property value.

Parameters
propertyNamename of the property to request a subscription for.
sourceUuidFiltersource UUID to filter. Only property updates from this source will be sent to the sink.
selfpointer to the sink who is subscribing.
virtual bool AbstractRoutingEngine::subscribeToProperty ( const VehicleProperty::Property &  propertyName,
const std::string &  sourceUuidFilter,
Zone::Type  zoneFilter,
AbstractSink self 
)
pure virtual

subscribeToProperty subscribe to changes made to a property value.

Parameters
propertyNamename of the property to request a subscription for.
sourceUuidFiltersource UUID to filter. Only property updates from this source will be sent to the sink.
zoneFilterzone to filter. Only updates from this zone will be passed to the sink.
selfpointer to the sink who is subscribing.
virtual void AbstractRoutingEngine::unsubscribeToProperty ( uint  handle)
pure virtual

unsubscribeToProperty

Parameters
handle

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