[Bug 525] New: Impossible to register functionless command/method/ event to TaskContext interface

For more infomation about this bug, visit
Summary: Impossible to register functionless command/method/event
to TaskContext interface
Product: RTT
Version: 1.4.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Real-Time Toolkit (RTT)
AssignedTo: orocos-dev [..] ...
ReportedBy: peter [dot] soetens [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

Created an attachment (id=248)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=248)
Adds 3 headers with EmptyCommand, EmptyMethod, EmptyEvent classes.

This is clearly only for the (very) advanced users, but it may be necessary to
register a command, method or event to the TaskContext's interface, without
assigning a function (technically: implementation) to it.

This may be necessary to get the embedded distribution library working more
smoothly (rtt/src/dlib) as proxies do not point to real functions, but to a
remote invocation protocol. One could define a proxy as a base class with the
empty interface defined and a sub-class which fills in the correct invocation
protocol once the component is instantiated. It would still require you to set
the 'Empty' implementation manually in the Proxy base class by using:

struct MyProxyBase
{
Command mycom;
MyProxyBase(...)
: mycom("mycom")
{
mycom = new EmptyCommand();
this->commands()->addCommand( &mycom );
}
};
and in the protocol setting sub class:
template
struct MyProxyImpl
: public Base
{
MyProxyImpl(...) : Base(...)
{
// iterate over Base's command interface, set new
// implementations.
}
};

If this is not Chinese to you, you should become a core developer of the RTT.

I can't think of another scenario than the dlib where this is useful.
Fortunately, the patch is headers only and not included by any other RTT header
(more of an add-on). If you're interested in this patch/bug please provide some
feedback.

[Bug 525] Impossible to register functionless command/method/ ev

For more infomation about this bug, visit

--- Comment #1 from sander <sander [dot] vandenbroucke [..] ...> 2008-03-14 14:53:50 ---
This is great stuff, together with the removing of Commands from a
CommanRepository it will make my life easyer.

Regards,
Sander.