42 #include "../OperationCaller.hpp" 43 #include "../FactoryExceptions.hpp" 44 #include "../ExecutionEngine.hpp" 45 #include "../internal/DataSources.hpp" 50 using namespace detail;
53 :
Service( prog->getName(), tc),
57 this->
doc(
"Orocos Program Script");
boost::shared_ptr< FunctionGraph > FunctionGraphPtr
virtual bool pause()=0
Pause or start-and-pause the execution of this program.
boost::shared_ptr< ProgramInterface > ProgramInterfacePtr
This class allows storage and retrieval of operations, ports, attributes and properties provided by a...
ProgramService(FunctionGraphPtr prog, TaskContext *tc=0)
By constructing this object, a program is added to a taskcontext as a TaskContext, with its commands and methods.
virtual bool start()=0
Start the execution of this program.
virtual bool step()=0
Execute a single action when paused.
virtual bool stop()=0
Stop the execution of this program.
const std::string & doc() const
Returns a descriptive text for this service.
bool isRunning() const
Returns true if the program is running.
DataSource< T >::result_t get() const
Return the data as type T.
The TaskContext is the C++ representation of an Orocos component.
Operation< typename internal::GetSignatureDS< Func >::Signature > & addOperationDS(const std::string &name, Func func, internal::DataSource< boost::shared_ptr< ObjT > > *sp, ExecutionThread et=ClientThread)
For internal use only.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
A simple, yet very useful DataSource, which keeps a value, and returns it in its get() method...
boost::shared_ptr< ProgramService > ProgramServicePtr
bool inError() const
Returns true if the program is in error.
bool isPaused() const
Returns true if the program is paused.