JeVois
1.19
JeVois Smart Embedded Machine Vision Toolkit
|
|
#include <jevois/Core/StdioInterface.H>
String-based user interface, simple terminal input/output to use on host.
When compiling JeVois code on the host, the hardware serial port and serial-over-usb ports will not be available. Instead of these two, the Engine will use a single StdioInterface which reads/writes strings from standard input/output of the terminal in which jevois-daemon was started.
Definition at line 31 of file StdioInterface.H.
Public Member Functions | |
StdioInterface (std::string const &instance) | |
Constructor. More... | |
virtual | ~StdioInterface () |
Destructor. More... | |
bool | readSome (std::string &str) override |
Read some bytes if available, and return true and a string when one is complete. More... | |
void | writeString (std::string const &str) override |
Write a string, using the line termination convention of serial::linestyle. More... | |
UserInterface::Type | type () const override |
Return our port type, here always Stdio. More... | |
![]() | |
UserInterface (std::string const &instance) | |
Constructor. More... | |
virtual | ~UserInterface () |
Destructor. More... | |
virtual void | writeString (std::string const &prefix, std::string const &str) |
Write a string, with a prefix prepended. More... | |
![]() | |
Component (std::string const &instance) | |
Constructor. More... | |
virtual | ~Component () |
Virtual destructor for safe inheritance. More... | |
template<class Comp , typename... Args> | |
std::shared_ptr< Comp > | addSubComponent (std::string const &instance, Args &&...args) |
Pseudo-constructor: construct and add another component as a subcomponent of this one. More... | |
template<class Comp > | |
void | removeSubComponent (std::shared_ptr< Comp > &component) |
Remove a sub-Component from this Component, by shared_ptr. More... | |
void | removeSubComponent (std::string const &instance, bool warnIfNotFound=true) |
Remove a sub-Component from this Component, by instance name. More... | |
template<class Comp = jevois::Component> | |
std::shared_ptr< Comp > | getSubComponent (std::string const &instance) const |
Get a sub-component by instance name. More... | |
bool | isTopLevel () const |
Returns true if this component is top-level, i.e., its parent is jevois::Manager. More... | |
Engine * | engine () const |
Get a handle to our Engine, or throw if we do not have an Engine as root ancestor. More... | |
bool | initialized () const |
Has this component been initialized yet? More... | |
const std::string & | className () const |
The class name of this component. More... | |
const std::string & | instanceName () const |
The instance name of this component. More... | |
template<typename T > | |
std::vector< std::string > | setParamVal (std::string const ¶mdescriptor, T const &val) |
Set a parameter value. More... | |
template<typename T > | |
void | setParamValUnique (std::string const ¶mdescriptor, T const &val) |
Set a parameter value, simple version assuming only one parameter match. More... | |
template<typename T > | |
std::vector< std::pair< std::string, T > > | getParamVal (std::string const ¶mdescriptor) const |
Get parameter(s) value(s) by descriptor. More... | |
template<typename T > | |
T | getParamValUnique (std::string const ¶mdescriptor) const |
Get a parameter value, simple version assuming only one parameter match. More... | |
std::vector< std::string > | setParamString (std::string const ¶mdescriptor, std::string const &val) |
Set a parameter value, by string. More... | |
void | setParamStringUnique (std::string const ¶mdescriptor, std::string const &val) |
Set a parameter value by string, simple version assuming only one parameter match. More... | |
std::vector< std::pair< std::string, std::string > > | getParamString (std::string const ¶mdescriptor) const |
Get a parameter value, by string. More... | |
std::string | getParamStringUnique (std::string const ¶mdescriptor) const |
Get a parameter value by string, simple version assuming only one parameter match. More... | |
void | freezeParam (std::string const ¶mdescriptor) |
Freeze a parameter, by name, see ParameterBase::freeze() More... | |
void | unFreezeParam (std::string const ¶mdescriptor) |
Unfreeze a parameter, by name, see ParameterBase::unFreeze() More... | |
void | freezeAllParams () |
Freeze all parameters. More... | |
void | unFreezeAllParams () |
Unfreeze all parameters. More... | |
std::string | descriptor () const |
Get our full descriptor (including all parents) as [Instancename]:[...]:[...]. More... | |
void | setParamsFromFile (std::string const &filename) |
Set some parameters from a file. More... | |
std::istream & | setParamsFromStream (std::istream &is, std::string const &absfile) |
Set some parameters from an open stream. More... | |
virtual void | paramInfo (std::shared_ptr< UserInterface > s, std::map< std::string, std::string > &categs, bool skipFrozen, std::string const &cname="", std::string const &pfx="") |
Get machine-oriented descriptions of all parameters. More... | |
void | foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="") |
Run a function on every param we hold. More... | |
template<typename T > | |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category) |
Add a new parameter after the Component has already been constructed. More... | |
template<typename T , template< typename > class ValidValuesSpec> | |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category) |
Add a new parameter after the Component has already been constructed. More... | |
template<typename T > | |
void | setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true) |
Register a callback with a previously created dynamic parameter. More... | |
void | removeDynamicParameter (std::string const &name) |
Remove a previously added dynamic parameter. More... | |
void | setPath (std::string const &path) |
Assign a filesystem path to this component. More... | |
std::filesystem::path | absolutePath (std::filesystem::path const &path="") |
If given path is relative (not starting with /), prepend the Component path to it. More... | |
![]() | |
virtual | ~ParameterRegistry () |
Virtual destructor for safe inheritance. More... | |
Additional Inherited Members | |
![]() | |
enum | Type { Type::Hard, Type::USB, Type::Stdio, Type::GUI } |
Enum for the interface type. More... | |
![]() | |
virtual void | preInit () |
Called before all sub-Components are init()ed. More... | |
virtual void | postInit () |
Called after all sub-Components are init()ed. More... | |
virtual void | preUninit () |
Called before all sub-Components are uninit()ed. More... | |
virtual void | postUninit () |
Called after all sub-Components are uninit()ed. More... | |
![]() | |
void | addParameter (ParameterBase *const param) |
The Parameter class uses this method to register itself on construction with its owning Component. More... | |
void | removeParameter (ParameterBase *const param) |
The Parameter class uses this method to un-register itself on destruction with its owning Component. More... | |
void | callbackInitCall () |
For all parameters that have a callback which has never been called, call it with the default param value. More... | |
jevois::StdioInterface::StdioInterface | ( | std::string const & | instance | ) |
Constructor.
Definition at line 25 of file StdioInterface.C.
|
virtual |
Destructor.
Definition at line 47 of file StdioInterface.C.
|
overridevirtual |
Read some bytes if available, and return true and a string when one is complete.
Implements jevois::UserInterface.
Definition at line 54 of file StdioInterface.C.
|
overridevirtual |
Return our port type, here always Stdio.
Implements jevois::UserInterface.
Definition at line 69 of file StdioInterface.C.
References jevois::UserInterface::Stdio.
|
overridevirtual |
Write a string, using the line termination convention of serial::linestyle.
No line terminator should be included in the string, writeString() will add one.
Implements jevois::UserInterface.
Definition at line 62 of file StdioInterface.C.