Fix to master (ORO_SIGNALLING_PORTS) / Removal DataSourceBase::getPointer()

On Wednesday 20 July 2011 17:07:24 Fabian Wiesel wrote:
> Hi,
>
> the current git master-branch doesn't compile with
> ORO_SIGNALLING_PORTS enabled.
> I tried to fix the code, but I am not sure it is correct,
> the patch is attached.

Thanks for the patch !

>
> Also, I am slightly troubled with the
> getPointer/getConstPointer-function in DataSourceBase.
> The only user is one function in the mqueue-protocol, which can do
> without it, so I suggest removing the function. A patch is enclosed.

You overlooked two issues: you forgot to remote getRawPointer from
DataSource.hpp, but more importantly, it's the rtt_typelib code that relies on
this function, since it allows template-less code to get to the data of a data
source. Since typelib is moving towards rtt slowly, we can't apply your patch.

Most of us realize now that although templates allow for perfect type-safety,
the cost they incur is tremendous, while it's possible to reach equal type
safety with using void*'s, as typelib proves. So the void* is here to stay.

Peter

Fix to master (ORO_SIGNALLING_PORTS) / Removal DataSourceBase::g

On 07/22/2011 12:25 PM, Peter Soetens wrote:
> On Wednesday 20 July 2011 17:07:24 Fabian Wiesel wrote:
> You overlooked two issues: you forgot to remote getRawPointer from
> DataSource.hpp, but more importantly, it's the rtt_typelib code that relies on
> this function, since it allows template-less code to get to the data of a data
> source. Since typelib is moving towards rtt slowly, we can't apply your patch.

Sorry, I wasn't aware, that some code outside of the tree was relying on it.

Fabian