31 #include <boost/cstdint.hpp>
32 #include <boost/shared_ptr.hpp>
33 #include <boost/thread/mutex.hpp>
35 #include <rsc/runtime/TypeStringTools.h>
36 #include <rsc/logging/Logger.h>
38 #include "rsb/rsbexports.h"
67 return rsc::runtime::typeName<T>();
99 typedef boost::shared_ptr<T>
type;
102 InformerBase(
const std::vector<transport::OutConnectorPtr>& connectors,
104 const std::string& defaultType);
108 void printContents(std::ostream& stream)
const;
111 virtual std::string getKind()
const;
119 std::string getType()
const;
150 std::string type = rsc::runtime::typeName<T1>()) {
151 VoidPtr p = boost::static_pointer_cast<
void>(data);
152 return publish(p, type);
157 const std::string& type = rsc::runtime::typeName<T1>()) {
158 VoidPtr p = boost::static_pointer_cast<
void>(data);
159 return uncheckedPublish(p, type);
167 virtual EventPtr createEvent()
const;
200 void checkedPublish(
EventPtr event);
201 void uncheckedPublish(
EventPtr event);
203 boost::uint32_t nextSequenceNumber();
239 typedef boost::shared_ptr<Informer<T> >
Ptr;
260 Informer(
const std::vector<transport::OutConnectorPtr>& connectors,
271 return rsc::runtime::typeName<Informer<T> >();
296 VoidPtr p = boost::static_pointer_cast<
void>(data);
302 std::string type = rsc::runtime::typeName(
typeid(T1))) {
Specification of desired quality of service settings for sending and receiving events.
boost::shared_ptr< void > VoidPtr
boost::shared_ptr< OutRouteConfigurator > OutRouteConfiguratorPtr
std::string operator()() const
std::string operator()() const
Objects of this class participate in the exchange of notifications on one channel of the bus...
A tag type for constructing Informer instances that can publish data of arbitrary types...
A class describing the configuration of Participant instances.
boost::shared_ptr< InformerBase > InformerBasePtr
boost::shared_ptr< Event > EventPtr
Scope is a descriptor for a hierarchical channel of the unified bus.