You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current device interface are implemented by multiple inheritance. I believe a better approach is required to simplify this. One method is to create an abstract interface and then subclass each interface to implement the standard ISXXX functions along with init/update Properties.
The default device maintain a vector of initialized interfaces and calls such functions accordingly so the concrete drivers do not need to explicitly call them like they do now.
Next comes the actual implementation of the functionality. For example, GuideNorth in guider interface must be implemented by the concrete driver. Should we require concrete drivers to register the callback? i.e.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Current device interface are implemented by multiple inheritance. I believe a better approach is required to simplify this. One method is to create an abstract interface and then subclass each interface to implement the standard ISXXX functions along with init/update Properties.
The default device maintain a vector of initialized interfaces and calls such functions accordingly so the concrete drivers do not need to explicitly call them like they do now.
Next comes the actual implementation of the functionality. For example, GuideNorth in guider interface must be implemented by the concrete driver. Should we require concrete drivers to register the callback? i.e.
guiderInterface->registerGuideNorth(std::bind(&MyConcreteDriver::GuideNorth, this));
Then when the internal code in guider interface needs to call this function, then it's already registered.
@pawel-soja @karlrees @eric-vickery @sterne-jaeger Please share your thoughts.
Beta Was this translation helpful? Give feedback.
All reactions