Feature #1827

Feature #44: Implement basic introspection support

Initial support for participant hierarchies

Added by J. Moringen over 7 years ago. Updated about 7 years ago.

Status:ResolvedStart date:04/01/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:C++
Target version:rsb-0.11

Associated revisions

Revision 9ac95e11
Added by J. Moringen about 7 years ago

Support participant hierarchies in src/rsb/**/*.{h,cpp}

fixes #1827

Each Factory::create* method accepts a parent participant as an optional
parameter. If supplied, this parent is passed to the
SignalParticipantCreated and thus available to the introspection
subsystem.

  • src/rsb/Factory.{h,cpp} (SignalParticipantCreated): added parent
    parameter
    (Factory::createInformer): added parent participant parameter; pass to
    signalParticipantCreated; extended documentation comment
    (Factory::createListener): similar
    (Factory::createReader): similar
    (Factory::createLocalServer): similar
    (Factory::createServer): similar
    (Factory::createRemoteServer): similar
  • src/rsb/introspection/Model.{h,cpp} (ParticipantInfo::parentId): new
    member variable; store id of parent participant
    (ParticipantInfo::getParentId): new method; return id of parent
    participant
    (ParticipantInfo::ParticipantInfo): added parentId parameter
  • src/rsb/introspection/IntrospectionSender.{h,cpp}
    (IntrospectionSender::addParticipant): added parent participant
    parameter; store its id in the created ParticipantInfo object
    (IntrospectionSender::sendHello):send id of parent participant if any
  • src/rsb/introspection/Plugin.cpp (handleParticipantCreated): added
    parent participant parameter; pass to
    IntrospectionSender::addParticipant
  • src/rsb/patterns/Server.{h,cpp} (Method): added Handler and
    enable_shared_from_this base classes
    (Method::makeListener): pass shared_ptr to this as parent to
    Factory::createListener
    (Method::makeInformer): similar
  • src/rsb/patterns/LocalServer.{h,cpp} (LocalMethod): removed Handler
    and enable_shared_from_this base classes
    (LocalServer): added enable_shared_from_this base class
    (LocalServer::registerMethod): pass shared_ptr to this as parent to
    signalParticipantCreated
  • src/rsb/patterns/RemoteServer.{h,cpp} (RemoteMethod): removed Handler
    and enable_shared_from_this base classes
    (RemoteServer): added enable_shared_from_this base class
    (RemoteServer::getMethod): pass shared_ptr to this as parent to
    signalParticipantCreated

Revision 08de50ad
Added by J. Moringen about 7 years ago

Support participant hierarchies in src/rsb/**/*.{h,cpp}

fixes #1827

Each Factory::create* method accepts a parent participant as an optional
parameter. If supplied, this parent is passed to the
SignalParticipantCreated and thus available to the introspection
subsystem.

  • src/rsb/Factory.{h,cpp} (SignalParticipantCreated): added parent
    parameter
    (Factory::createInformer): added parent participant parameter; pass to
    signalParticipantCreated; extended documentation comment
    (Factory::createListener): similar
    (Factory::createReader): similar
    (Factory::createLocalMethod): similar
    (Factory::createLocalServer): similar
    (Factory::createServer): similar
    (Factory::createRemoteMethod): similar
    (Factory::createRemoteServer): similar
  • src/rsb/introspection/Model.{h,cpp} (ParticipantInfo::parentId): new
    member variable; store id of parent participant
    (ParticipantInfo::getParentId): new method; return id of parent
    participant
    (ParticipantInfo::ParticipantInfo): added parentId parameter
  • src/rsb/introspection/IntrospectionSender.{h,cpp}
    (IntrospectionSender::addParticipant): added parent participant
    parameter; store its id in the created ParticipantInfo object
    (IntrospectionSender::sendHello):send id of parent participant if any
  • src/rsb/introspection/Plugin.cpp (handleParticipantCreated): added
    parent participant parameter; pass to
    IntrospectionSender::addParticipant
  • src/rsb/patterns/Server.{h,cpp} (Method): added Handler and
    enable_shared_from_this base classes
    (Method::makeListener): pass shared_ptr to this as parent to
    Factory::createListener
    (Method::makeInformer): similar
  • src/rsb/patterns/LocalServer.{h,cpp} (LocalMethod): removed Handler
    and enable_shared_from_this base classes
    (LocalServer): added enable_shared_from_this base class
    (LocalServer::registerMethod): pass shared_ptr to this as parent to
    Factory::createLocalMethod
  • src/rsb/patterns/RemoteServer.{h,cpp} (RemoteMethod): removed Handler
    and enable_shared_from_this base classes
    (RemoteServer): added enable_shared_from_this base class
    (RemoteServer::getMethod): pass shared_ptr to this as parent to
    Factory::createRemoteMethod

Reviewed-by: Johannes Wienke <>

History

#1 Updated by J. Moringen about 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

Also available in: Atom PDF