20 #ifndef ABSTRACTROUTINGENGINE_H
21 #define ABSTRACTROUTINGENGINE_H
23 #include <sys/types.h>
25 #include <boost/any.hpp>
30 #include "vehicleproperty.h"
31 #include "abstractpropertytype.h"
32 #include "propertyinfo.hpp"
41 typedef std::function<void (AsyncPropertyReply*)> GetPropertyCompletedSignal;
42 typedef std::function<void (AsyncRangePropertyReply*)> GetRangedPropertyCompletedSignal;
43 typedef std::function<void (AsyncPropertyReply*)> TimedOutCallback;
152 else if(err == Timeout)
154 else if(err == InvalidOperation)
155 return "InvalidOperation";
156 else if(err == PermissionDenied)
157 return "PermissionDenied";
158 else if(err == ZoneNotSupported)
159 return "ZoneNotSupported";
172 else if(err ==
"Timeout")
174 else if(err ==
"InvalidOperation")
175 return InvalidOperation;
176 else if(err ==
"PermissionDenied")
177 return PermissionDenied;
178 else if(err ==
"ZoneNotSupported")
179 return ZoneNotSupported;
210 GSource* timeoutSource;
342 for(
auto itr =
values.begin(); itr !=
values.end(); itr++)
369 typedef std::function<void (AbstractPropertyType* value)> PropertyChangedType;
375 virtual void updateSupported(PropertyList added, PropertyList removed,
AbstractSource* source) = 0;
381 DebugOut(
DebugOut::Warning)<<
"updateProperty(VehicleProperty::Property,AbstractPropertyType*,std::string) is deprecated. use new updateProperty(AbstractPropertyType*, const std::string &)"<<endl;
386 virtual PropertyList supported() = 0;
397 virtual std::vector<std::string>
sourcesForProperty(
const VehicleProperty::Property & property) = 0;
465 virtual uint
subscribeToProperty(
const VehicleProperty::Property & propertyName, PropertyChangedType callback, std::string pid=
"") = 0;
508 virtual bool subscribeToProperty(
const VehicleProperty::Property & propertyName,
const std::string & sourceUuidFilter, Zone::Type zoneFilter,
AbstractSink *
self) = 0;
512 virtual PropertyInfo getPropertyInfo(
const VehicleProperty::Property &,
const std::string & sourceUuid) = 0;
515 std::map<std::string, std::string> mConfig;
518 #endif // ABSTRACTROUTINGENGINE_H