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;
116 std::string getType()
const;
147 std::string type = rsc::runtime::typeName<T1>()) {
148 VoidPtr p = boost::static_pointer_cast<
void>(data);
149 return publish(p, type);
154 const std::string& type = rsc::runtime::typeName<T1>()) {
155 VoidPtr p = boost::static_pointer_cast<
void>(data);
156 return uncheckedPublish(p, type);
164 virtual EventPtr createEvent()
const;
197 void checkedPublish(
EventPtr event);
198 void uncheckedPublish(
EventPtr event);
200 boost::uint32_t nextSequenceNumber();
236 typedef boost::shared_ptr<Informer<T> >
Ptr;
257 Informer(
const std::vector<transport::OutConnectorPtr>& connectors,
268 return rsc::runtime::typeName<Informer<T> >();
293 VoidPtr p = boost::static_pointer_cast<
void>(data);
299 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.