[Bug 792] New: RTT doesn't seem to honor port description.

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=792

Summary: RTT doesn't seem to honor port description.
Product: Toolchain
Version: master
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: RTT
AssignedTo: orocos-dev [..] ...
ReportedBy: philippe [dot] hamelin [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

I just found that the .doc() method used to describe the data ports seems to
don't work. To do a simple test, I just modified the HelloWorld component with
something like this:

this->ports()->addPort( outport ).doc("The output port");
this->ports()->addPort( bufferport ).doc("The buffer port");

However, the taskbrowser argues that there isn't any documentation:

Services:
the_buffer_port ( No description set for this Port. Use .doc() to document
it. )
the_results ( No description set for this Port. Use .doc() to document it.
)

Tested on Ubuntu 10.04-LTS with GCC 4.4.3 and Orocos Toolchain v2.1.

[Bug 792] RTT doesn't seem to honor port description.

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=792

Peter Soetens <peter [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED

--- Comment #1 from Peter Soetens <peter [..] ...> 2010-11-30 21:19:52 ---
(In reply to comment #0)
> I just found that the .doc() method used to describe the data ports seems to
> don't work. To do a simple test, I just modified the HelloWorld component with
> something like this:
>
> this->ports()->addPort( outport ).doc("The output port");
> this->ports()->addPort( bufferport ).doc("The buffer port");
>
> However, the taskbrowser argues that there isn't any documentation:
>
> Services:
> the_buffer_port ( No description set for this Port. Use .doc() to document it.
> )
> the_results ( No description set for this Port. Use .doc() to document it.
> )
>

The problem here is that the 'Service' documentation string is collected during
'addPort()', while the '.doc("..")' is done after addPort(). So the port *is*
documented, but it's service is not. Since doc() is done on the port instance,
we'd need to have the port to call back the data flow interface that the
documentation string changed, and that the service needs updating too.

Peter

[Bug 792] RTT doesn't seem to honor port description.

http://bugs.orocos.org/show_bug.cgi?id=792

Peter Soetens <peter [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED

--- Comment #2 from Peter Soetens <peter [..] ...> 2011-02-24 23:23:49 CET ---
(In reply to comment #0)
> I just found that the .doc() method used to describe the data ports seems to
> don't work. To do a simple test, I just modified the HelloWorld component with
> something like this:
>
> this->ports()->addPort( outport ).doc("The output port");
> this->ports()->addPort( bufferport ).doc("The buffer port");
>
> However, the taskbrowser argues that there isn't any documentation:
>
> Services:
> the_buffer_port ( No description set for this Port. Use .doc() to document it.
> )
> the_results ( No description set for this Port. Use .doc() to document it.
> )
>
> Tested on Ubuntu 10.04-LTS with GCC 4.4.3 and Orocos Toolchain v2.1.

This was fixed on the 2.2 branch.

Peter