useorocos: re-enable auto-linking also for catkin builds

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
Merge branch 'enable_autolinking_for_catkin' of https://github.com/meyerj/rtt into toolchain-2.7
Add catkin detection for catkin_make_isolated

Signed-off-by: Ruben Smits <ruben.smits@intermodalics.eu>
tests: create unit test to check commenting in state machines.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
scripting: fix accidental insertion of empty scripting service into TaskContext.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
scripting: Allow to query the PeerParser for a succesful match

Without this new foundPath() function, it would be impossible to find out
if any parsing was possible at all. Used by the TaskBrowser.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
Merge branch 'toolchain-2.7'
useorocos: export typekit plugin and include directory in orocos_typegen_headers() macro

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
tests: add two unit tests to reproduce reported parser bugs

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
scripting: fix crash of skip parser definition

The parsers were not saved on the stack, causing a segfault later-on.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
tests: fix bugs in ports unit test

Remove a port from the TC before it gets destroyed/dangling.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
partially revert commit 526bbf75cde567a3dcd793fd6b9f1209dcedfabd

The modification is probably ok, but this is not the right time to do it
(breaks ABI)

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
types: fix copy/clone semantics of PartDataSource classes

It never worked. it kept returning the data in the old parent, instead of the
newly created parent. It took some pointer calculus to get the reference in the
new parent. The unit tests seem to agree with this patch.

The never used OffsetPartDataSource is no longer necessary then, because the
normal parts now calculate the offset themselves.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>
Revert "services: also clear DataFlowInterface in Service::clear()"

This reverts commit 2a254afb04ef4c922d4a9bd80b15c05e9628762c.

The DataFlowInterface cannot be cleared anymore at this point as the port objects might already be destroyed.
`DataFlowInterface::removePort()` is purely based on names, but `DataFlowInterface::clear()` calls `getName()`
on the destroyed port object (invalid read).

For a clean solution we would have to cache the port names or the pointers to the created port objects in the
DataFlowInterface...

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
extras: Initialize work file descriptors in FileDescriptorActivity

The work FD's didn't have initial values, and so if isUpdated() is
called before the activity starts it's loop() then junk values are
returned.

This zeroes the work FD's during construction.
useorocos: minor control flow cleanup in orocos_find_package()

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
useorocos: export the targets, libraries and include directories of packages in the orocos_generate_package(DEPENDS ...) list to other packages in the same workspace

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
extras: Log an error if a FileDescriptorActivity fails to start

The error simply occurs silently otherwise.
extras: Support microsecond timeouts in FileDescriptorActivity

Use microsecond instead of millisecond timeouts. Adds new get/set
operations that explicitly deal with microsecond level timeouts,
while leaving the existing millisecond get/set timeout operations.

Setting a negative timeout is now checked for and prevented.
extras: Support pinning a FileDescriptorActivity to a CPU mask