iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nrt::MessagePosterCoreBase Class Referenceabstract

#include <nrt/Core/Blackboard/details/ModulePortHelpers.H>

Base class for a MessagePoster.

This class encapsulates all the information about the poster which is not dependent upon the MessagePosting type

Definition at line 474 of file ModulePortHelpers.H.

Inheritance diagram for nrt::MessagePosterCoreBase:
nrt::MessagePosterCore< SimpleMessagePosting< T > > nrt::MessagePosterCore< Posting > nrt::SplitMessagePoster< T >

Public Member Functions

virtual ~MessagePosterCoreBase ()
 Virtual destructor for safe inheritance.
 
void setTopic (std::string const &topic_)
 Set topic of a MessagePoster port. More...
 
virtual void createSubPosters ()=0
 Create our split sub-ports.
 
virtual void deleteSubPosters ()=0
 Delete our split sub-ports.
 
virtual bool isSplit () const =0
 Return true if we currently have split-sub-posters.
 

Protected Member Functions

virtual void clearLocalCallbacks ()=0
 Clear our internal vector of local callbacks.
 
virtual void addLocalCallback (MessageSubscriberCoreBase *sub)=0
 Add the callback from the given MessageSubscriber to our vector of local callbacks.
 

Protected Attributes

std::string msgtype
 Type of Message we post.
 
std::string rettype
 Type of Message we expect back from subscribers.
 
std::string module
 Module which we belong to.
 
std::string portname
 String name for our Posting port class.
 
std::string description
 String human description for our Posting.
 
std::string topic
 Topic into which we post.
 
int sequence
 Poster sequence number within module used for ordering of ports in the GUI.
 
bool splittable
 Can this port be split into sub-ports?
 
std::map< std::string,
RemotePostData > 
remotePostData
 Map of remote post handlers that get triggered when we post a message, one per remote blackboard.
 
std::map< std::string,
RemotePostData > 
remotePostDataAny
 Map of remote post handlers, one per remote blackboard that has subscribers for nrt::AnyMessage version.
 
nrt::blackboard::msgkey messagekey
 Pre-computed key to our Blackboard's internal repository of messages.
 
boost::shared_mutex mtx
 

Friends

class nrt::Blackboard
 Only the Blackboard and derived classes can access our data.
 

Member Function Documentation

void nrt::MessagePosterCoreBase::setTopic ( std::string const &  topic_)

Set topic of a MessagePoster port.

All subsequents post() calls on this MessagePoster will post their messages on the specified topic.


The documentation for this class was generated from the following file: