[Bug 890] New: Service::hasOperation incorrectly returns false when using a CORBA proxy

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

Summary: Service::hasOperation incorrectly returns false when
using a CORBA proxy
Product: Toolchain
Version: 2.3.1
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

When using a CORBA proxy to a remote component, the Service::hasOperation
method returns false even if the operation exists, e.g.:

proxy->provides("math")->hasOperation("add") // returns false

However, the following workaround is corrrect:

proxy->provides("math")->getOperation("add") // returns true

[Bug 890] Service::hasOperation incorrectly returns false when u

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

Chavent Paul <paul [dot] chavent [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |paul [dot] chavent [..] ...

--- Comment #2 from Chavent Paul <paul [dot] chavent [..] ...> 2011-10-10 10:15:44 CEST ---
(In reply to comment #1)
> (In reply to comment #0)
> > When using a CORBA proxy to a remote component, the Service::hasOperation method
> > returns false even if the operation exists, e.g.:
> >
> > proxy->provides("math")->hasOperation("add") // returns false
> >
> > However, the following workaround is corrrect:
> >
> > proxy->provides("math")->getOperation("add") // returns true
>
> Actually, the function behaves correctly. You need to use 'hasMember()' to find
> out if a 'remote' operation is available.
>
> I vaguely remember that someone (Theo? Charles?) was refactoring this code to
> be more clear... but I'm unsure where it ended up.
>
> Pete

See bug 802 ?