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;
114 virtual const std::set<std::string> getTransportURLs()
const;
122 std::string getType()
const;
153 std::string type = rsc::runtime::typeName<T1>()) {
154 VoidPtr p = boost::static_pointer_cast<
void>(data);
155 return publish(p, type);
160 const std::string& type = rsc::runtime::typeName<T1>()) {
161 VoidPtr p = boost::static_pointer_cast<
void>(data);
162 return uncheckedPublish(p, type);
170 virtual EventPtr createEvent()
const;
203 void checkedPublish(
EventPtr event);
204 void uncheckedPublish(
EventPtr event);
206 boost::uint32_t nextSequenceNumber();
242 typedef boost::shared_ptr<Informer<T> >
Ptr;
263 Informer(
const std::vector<transport::OutConnectorPtr>& connectors,
267 logger(rsc::logging::Logger::getLogger(getClassName())) {
274 return rsc::runtime::typeName<Informer<T> >();
287 event->setType(getType());
299 VoidPtr p = boost::static_pointer_cast<
void>(data);
305 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.