Wiki » History » Version 19

« Previous - Version 19/271 (diff) - Next » - Current version
J.-C. Seele, 09/28/2010 04:16 PM


Wiki

Dependencies

  • RSC, see RSC Project at Code.CoR-Lab
  • boost::uuid (can be installed from GAR installer, contrib/boost.uuid or is contained in newer boost versions)
  • boost::threadpool (can be installed from GAR installer, contrib/boost.threadpool, will probably be replaced by RSC threadpool implementation)
  • spread for spread port (lucid ubuntu package does not work as it is still an old version, can be installed through GAR installer, contrib/spread)
  • Google protocol buffers (lucid ubuntu package works, can also be installed from GAR installer, contrib/protobuf)
  • Doxygen for documentation generation (ubuntu package)
  • lcov for coverage report (ubuntu package)

Questions/Annotations concerning the Tutorials (by Jens)

Subscribe Tutorial:

RsbImageImportPlugin::Init()

  • If you don't know boost very well, you don't know how to handle that pointers to Subscriber and Subscription, I guess. E.g. how to initialize them.
  • At the moment, if I pretend to be dumb, I have NO CLUE, what a QueuePushHandler is good for, what it does and the forth. Same is for AbstractFilterPtr. I also don't really know, why I should always use these boost_shared_ptrs....
  • The whole typedef thing is pretty hairy, I guess. At least for people with less experience in C++.
  • EDIT: Not used anymore! The whole casting of QueuePushHandler which is of type DataHandler to type Handler is very convoluted. How do I get the idea, that the Handler, I have to append to the Subscription is the superclass of DataHandler which is the superclass of QueuePushHandler without dwelving into the depths of the RSB-hierarchies? I hope there is a diagram or something, in which all of these components show up in relation to each other.
  • ALL IN ALL: I don't think I would be able to solve this first task very fast. I think I could work on it for at least an hour or two. And it would make me mad. This is because of the pointer madness, mostly. I think it is necessary to make clear, what the whole relation between Handlers, Subscriber and Subscriptions (and Filters) looks like. A code example should be provided, also.

RsbImageImportPlugin::Process()

  • this maybe stupid, but my first idea was to do something with the plugdata. Maybe, because I don't got the idea at first to use that imageQueue. On the second look, it is totally clear to just pop the queued image.... ;)

Publish Tutorial:

Class: rsb::Publisher

  • What is the Publisher doing? Seems to be clear, but I have no real clue. What does the communication 'pipeline' looks like?
  • I do not understand the typedefs, because I am not into C++ very well. So I have no clue, how to start the tutorial and what is meant by Pointer and Datapointer (in comparison to each other). Maybe the Pointer points to the Publisher and the DataPointer to the data of it?! But afterall, why do I need Pointers? It would be nice, if these two typedefs would be explained. E.g. what they do, where the difference is, what you can use them for.
  • I think I would not have the idea to use the reset() method of boost_shared_ptr to initialize the publisher. Same holds for the event.
  • ALL IN ALL: Mostly the same problems as above. Again: There is some knowledge of C++ needed, to do this.

RSBIceWingExportPlugin::Process()

  • Why not use event->data() for plotting the event data in the window?