7#ifndef IceStorm_IceStorm_h_
8#define IceStorm_IceStorm_h_
12#include <Ice/Identity.h>
14#include <IceStorm/Config.h>
16#ifndef ICE_DISABLE_VERSION
17# if ICE_INT_VERSION != 30850
18# error Ice version mismatch: an exact match is required for beta generated code
23# if defined(ICESTORM_API_EXPORTS)
24# define ICESTORM_API ICE_DECLSPEC_EXPORT
26# define ICESTORM_API ICE_DECLSPEC_IMPORT
44 using QoS = std::map<std::string, std::string>;
47 using TopicDict = std::map<std::string, std::optional<TopicPrx>>;
123 std::function<void()>
getNameAsync(std::function<
void(std::string)> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
126 void _iceI_getName(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&,
const Ice::Context&)
const;
156 void _iceI_getPublisher(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&,
const Ice::Context&)
const;
183 void _iceI_getNonReplicatedPublisher(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&,
const Ice::Context&)
const;
215 std::function<void()>
subscribeAndGetPublisherAsync(
const QoS& theQoS,
const std::optional<Ice::ObjectPrx>& subscriber, std::function<
void(std::optional<Ice::ObjectPrx>)> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
218 void _iceI_subscribeAndGetPublisher(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&,
const QoS&,
const std::optional<Ice::ObjectPrx>&,
const Ice::Context&)
const;
242 std::function<void()>
unsubscribeAsync(
const std::optional<Ice::ObjectPrx>& subscriber, std::function<
void()> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
245 void _iceI_unsubscribe(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const std::optional<Ice::ObjectPrx>&,
const Ice::Context&)
const;
270 std::function<void()>
linkAsync(
const std::optional<TopicPrx>& linkTo, std::int32_t cost, std::function<
void()> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
273 void _iceI_link(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const std::optional<TopicPrx>&, std::int32_t,
const Ice::Context&)
const;
295 std::function<void()>
unlinkAsync(
const std::optional<TopicPrx>& linkTo, std::function<
void()> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
298 void _iceI_unlink(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const std::optional<TopicPrx>&,
const Ice::Context&)
const;
322 void _iceI_getLinkInfoSeq(
const std::shared_ptr<IceInternal::OutgoingAsyncT<LinkInfoSeq>>&,
const Ice::Context&)
const;
346 void _iceI_getSubscribers(
const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::IdentitySeq>>&,
const Ice::Context&)
const;
367 void _iceI_destroy(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const Ice::Context&)
const;
374 static
TopicPrx _fromReference(IceInternal::ReferencePtr ref) {
return TopicPrx{std::move(ref)}; }
381 explicit TopicPrx(IceInternal::ReferencePtr&& ref) :
Ice::ObjectPrx{std::move(ref)}
405 ~TopicManagerPrx()
override;
453 std::function<void()>
createAsync(std::string_view name, std::function<
void(std::optional<::IceStorm::TopicPrx>)> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
456 void _iceI_create(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<TopicPrx>>>&, std::string_view,
const Ice::Context&)
const;
481 std::function<void()>
retrieveAsync(std::string_view name, std::function<
void(std::optional<::IceStorm::TopicPrx>)> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
484 void _iceI_retrieve(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<TopicPrx>>>&, std::string_view,
const Ice::Context&)
const;
508 void _iceI_retrieveAll(
const std::shared_ptr<IceInternal::OutgoingAsyncT<TopicDict>>&,
const Ice::Context&)
const;
522 explicit TopicManagerPrx(IceInternal::ReferencePtr&& ref) :
Ice::ObjectPrx{std::move(ref)}
549 ~FinderPrx()
override;
596 void _iceI_getTopicManager(
const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<TopicManagerPrx>>>&,
const Ice::Context&)
const;
603 static
FinderPrx _fromReference(IceInternal::ReferencePtr ref) {
return FinderPrx{std::move(ref)}; }
610 explicit FinderPrx(IceInternal::ReferencePtr&& ref) :
Ice::ObjectPrx{std::move(ref)}
633 [[nodiscard]] std::tuple<const std::optional<::IceStorm::TopicPrx>&,
const std::string&,
const std::int32_t&>
ice_tuple()
const
669 [[nodiscard]] std::tuple<const std::string&>
ice_tuple()
const
671 return std::tie(
name);
679 [[nodiscard]] const
char*
ice_id() const noexcept override;
688 void _writeImpl(
Ice::OutputStream*) const override;
691 void _readImpl(
Ice::InputStream*) override;
714 [[nodiscard]] std::tuple<const std::string&>
ice_tuple()
const
716 return std::tie(
name);
724 [[nodiscard]] const
char*
ice_id() const noexcept override;
733 void _writeImpl(
Ice::OutputStream*) const override;
736 void _readImpl(
Ice::InputStream*) override;
748 [[nodiscard]] const
char*
ice_id() const noexcept override;
754 void _writeImpl(
Ice::OutputStream*) const override;
757 void _readImpl(
Ice::InputStream*) override;
780 [[nodiscard]] std::tuple<const std::string&>
ice_tuple()
const
790 [[nodiscard]] const
char*
ice_id() const noexcept override;
799 void _writeImpl(
Ice::OutputStream*) const override;
802 void _readImpl(
Ice::InputStream*) override;
825 [[nodiscard]] std::tuple<const std::string&>
ice_tuple()
const
827 return std::tie(
name);
835 [[nodiscard]] const
char*
ice_id() const noexcept override;
844 void _writeImpl(
Ice::OutputStream*) const override;
847 void _readImpl(
Ice::InputStream*) override;
870 [[nodiscard]] std::tuple<const std::string&>
ice_tuple()
const
872 return std::tie(
name);
880 [[nodiscard]] const
char*
ice_id() const noexcept override;
889 void _writeImpl(
Ice::OutputStream*) const override;
892 void _readImpl(
Ice::InputStream*) override;
896 using
Ice::Tuple::operator<;
897 using
Ice::Tuple::operator<=;
898 using
Ice::Tuple::operator>;
899 using
Ice::Tuple::operator>=;
900 using
Ice::Tuple::operator==;
901 using
Ice::Tuple::operator!=;
911 class ICESTORM_API Topic :
public virtual Ice::Object
922 [[nodiscard]] std::vector<std::string> ice_ids(
const Ice::Current& current)
const override;
930 [[nodiscard]]
virtual std::string getName(
const Ice::Current& current)
const = 0;
940 [[nodiscard]]
virtual std::optional<Ice::ObjectPrx> getPublisher(
const Ice::Current& current)
const = 0;
949 [[nodiscard]]
virtual std::optional<Ice::ObjectPrx> getNonReplicatedPublisher(
const Ice::Current& current)
const = 0;
962 virtual std::optional<Ice::ObjectPrx> subscribeAndGetPublisher(
QoS theQoS, std::optional<Ice::ObjectPrx> subscriber,
const Ice::Current& current) = 0;
971 virtual void unsubscribe(std::optional<Ice::ObjectPrx> subscriber,
const Ice::Current& current) = 0;
981 virtual void link(std::optional<TopicPrx> linkTo, std::int32_t cost,
const Ice::Current& current) = 0;
990 virtual void unlink(std::optional<TopicPrx> linkTo,
const Ice::Current& current) = 0;
1006 [[nodiscard]] virtual ::Ice::IdentitySeq getSubscribers(
const Ice::Current& current)
const = 0;
1029 class ICESTORM_API TopicManager :
public virtual Ice::Object
1040 [[nodiscard]] std::vector<std::string> ice_ids(
const Ice::Current& current)
const override;
1042 [[nodiscard]] std::string ice_id(
const Ice::Current& current)
const override;
1049 virtual std::optional<TopicPrx> create(std::string name,
const Ice::Current& current) = 0;
1059 virtual std::optional<TopicPrx> retrieve(std::string name,
const Ice::Current& current) = 0;
1074 static const char* ice_staticId()
noexcept;
1086 class ICESTORM_API Finder :
public virtual Ice::Object
1097 [[nodiscard]] std::vector<std::string> ice_ids(
const Ice::Current& current)
const override;
1099 [[nodiscard]] std::string ice_id(
const Ice::Current& current)
const override;
1104 virtual std::optional<TopicManagerPrx> getTopicManager(
const Ice::Current& current) = 0;
1111 static const char* ice_staticId()
noexcept;
1124 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
1125 static constexpr int minWireSize = 7;
1126 static constexpr bool fixedLength =
false;
1130 struct StreamReader<::IceStorm::LinkInfo>
1133 static void read(InputStream* istr, ::IceStorm::LinkInfo& v)
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_throw() const override
Throws this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
The exception that is thrown when attempting to subscribe a proxy for which a subscription already ex...
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_throw() const override
Throws this exception.
std::string reason
The reason for the failure.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
BadQoS(const BadQoS &) noexcept=default
Copy constructor.
BadQoS() noexcept=default
Default constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
FinderPrx(const FinderPrx &other) noexcept
Copy constructor.
FinderPrx(FinderPrx &&other) noexcept
Move constructor.
FinderPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::function< void()> getTopicManagerAsync(std::function< void(std::optional<::IceStorm::TopicManagerPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated IceStorm::TopicManagerPrx.
std::future< std::optional< TopicManagerPrx > > getTopicManagerAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated IceStorm::TopicManagerPrx.
FinderPrx & operator=(FinderPrx &&rhs) noexcept
Move assignment operator.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
FinderPrx & operator=(const FinderPrx &rhs) noexcept
Copy assignment operator.
std::optional< TopicManagerPrx > getTopicManager(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated IceStorm::TopicManagerPrx.
Provides access to a TopicManagerPrx object via a fixed identity.
LinkExists() noexcept=default
Default constructor.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
LinkExists(const LinkExists &) noexcept=default
Copy constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
std::string name
The name of the linked topic.
void ice_throw() const override
Throws this exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_throw() const override
Throws this exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
std::string name
The name of the link that does not exist.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
NoSuchLink() noexcept=default
Default constructor.
NoSuchLink(const NoSuchLink &) noexcept=default
Copy constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
void ice_throw() const override
Throws this exception.
std::string name
The name of the topic that does not exist.
NoSuchTopic(const NoSuchTopic &) noexcept=default
Copy constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
NoSuchTopic() noexcept=default
Default constructor.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
const char * ice_id() const noexcept override
Returns the type ID of this exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
std::string name
The name of the topic that already exists.
TopicExists(const TopicExists &) noexcept=default
Copy constructor.
TopicExists() noexcept=default
Default constructor.
void ice_throw() const override
Throws this exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
TopicManagerPrx & operator=(const TopicManagerPrx &rhs) noexcept
Copy assignment operator.
TopicManagerPrx(TopicManagerPrx &&other) noexcept
Move constructor.
TopicDict retrieveAll(const Ice::Context &context=Ice::noExplicitContext) const
Retrieves all topics managed by this topic manager.
TopicManagerPrx(const TopicManagerPrx &other) noexcept
Copy constructor.
std::function< void()> createAsync(std::string_view name, std::function< void(std::optional<::IceStorm::TopicPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new topic.
std::optional< TopicPrx > retrieve(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves a topic by name.
std::function< void()> retrieveAsync(std::string_view name, std::function< void(std::optional<::IceStorm::TopicPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves a topic by name.
std::future< TopicDict > retrieveAllAsync(const Ice::Context &context=Ice::noExplicitContext) const
Retrieves all topics managed by this topic manager.
std::function< void()> retrieveAllAsync(std::function< void(::IceStorm::TopicDict)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves all topics managed by this topic manager.
std::future< std::optional< TopicPrx > > createAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new topic.
std::optional< TopicPrx > create(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new topic.
TopicManagerPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::future< std::optional< TopicPrx > > retrieveAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves a topic by name.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
TopicManagerPrx & operator=(TopicManagerPrx &&rhs) noexcept
Move assignment operator.
Represents an object that manages topics.
void link(const std::optional< TopicPrx > &linkTo, std::int32_t cost, const Ice::Context &context=Ice::noExplicitContext) const
Creates a link to another topic.
void unsubscribe(const std::optional< Ice::ObjectPrx > &subscriber, const Ice::Context &context=Ice::noExplicitContext) const
Unsubscribes the provided subscriber from this topic.
std::future< LinkInfoSeq > getLinkInfoSeqAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets information on the current links.
std::function< void()> getNonReplicatedPublisherAsync(std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a non-replicated proxy to a publisher object for this topic.
std::function< void()> getSubscribersAsync(std::function< void(::Ice::IdentitySeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the list of subscribers for this topic.
TopicPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::optional< Ice::ObjectPrx > subscribeAndGetPublisher(const QoS &theQoS, const std::optional< Ice::ObjectPrx > &subscriber, const Ice::Context &context=Ice::noExplicitContext) const
Subscribes to this topic.
std::future< std::optional< Ice::ObjectPrx > > subscribeAndGetPublisherAsync(const QoS &theQoS, const std::optional< Ice::ObjectPrx > &subscriber, const Ice::Context &context=Ice::noExplicitContext) const
Subscribes to this topic.
std::function< void()> linkAsync(const std::optional< TopicPrx > &linkTo, std::int32_t cost, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates a link to another topic.
std::function< void()> destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Destroys this topic.
TopicPrx(TopicPrx &&other) noexcept
Move constructor.
TopicPrx & operator=(TopicPrx &&rhs) noexcept
Move assignment operator.
std::future< void > unsubscribeAsync(const std::optional< Ice::ObjectPrx > &subscriber, const Ice::Context &context=Ice::noExplicitContext) const
Unsubscribes the provided subscriber from this topic.
std::future<::Ice::IdentitySeq > getSubscribersAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the list of subscribers for this topic.
LinkInfoSeq getLinkInfoSeq(const Ice::Context &context=Ice::noExplicitContext) const
Gets information on the current links.
std::optional< Ice::ObjectPrx > getPublisher(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to a publisher object for this topic.
std::future< void > linkAsync(const std::optional< TopicPrx > &linkTo, std::int32_t cost, const Ice::Context &context=Ice::noExplicitContext) const
Creates a link to another topic.
TopicPrx & operator=(const TopicPrx &rhs) noexcept
Copy assignment operator.
std::function< void()> getPublisherAsync(std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to a publisher object for this topic.
std::future< void > destroyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Destroys this topic.
std::function< void()> getLinkInfoSeqAsync(std::function< void(::IceStorm::LinkInfoSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets information on the current links.
std::function< void()> unsubscribeAsync(const std::optional< Ice::ObjectPrx > &subscriber, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Unsubscribes the provided subscriber from this topic.
std::optional< Ice::ObjectPrx > getNonReplicatedPublisher(const Ice::Context &context=Ice::noExplicitContext) const
Gets a non-replicated proxy to a publisher object for this topic.
std::function< void()> subscribeAndGetPublisherAsync(const QoS &theQoS, const std::optional< Ice::ObjectPrx > &subscriber, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Subscribes to this topic.
std::future< std::optional< Ice::ObjectPrx > > getNonReplicatedPublisherAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a non-replicated proxy to a publisher object for this topic.
void destroy(const Ice::Context &context=Ice::noExplicitContext) const
Destroys this topic.
std::function< void()> unlinkAsync(const std::optional< TopicPrx > &linkTo, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Destroys a link from this topic to the provided topic.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::function< void()> getNameAsync(std::function< void(std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of this topic.
std::future< void > unlinkAsync(const std::optional< TopicPrx > &linkTo, const Ice::Context &context=Ice::noExplicitContext) const
Destroys a link from this topic to the provided topic.
std::string getName(const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of this topic.
::Ice::IdentitySeq getSubscribers(const Ice::Context &context=Ice::noExplicitContext) const
Gets the list of subscribers for this topic.
std::future< std::string > getNameAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of this topic.
TopicPrx(const TopicPrx &other) noexcept
Copy constructor.
std::future< std::optional< Ice::ObjectPrx > > getPublisherAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to a publisher object for this topic.
void unlink(const std::optional< TopicPrx > &linkTo, const Ice::Context &context=Ice::noExplicitContext) const
Destroys a link from this topic to the provided topic.
Represents an IceStorm topic.
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
The base class for servants.
Represents the response to an incoming request.
Provides typed proxy functions.
Abstract base class for all Ice exceptions defined in Slice.
std::shared_ptr< TopicManager > TopicManagerPtr
A shared pointer to a TopicManager.
std::map< std::string, std::optional< TopicPrx > > TopicDict
A dictionary of topic name to topic proxy.
std::vector< LinkInfo > LinkInfoSeq
A sequence of LinkInfo objects.
std::shared_ptr< Topic > TopicPtr
A shared pointer to a Topic.
std::shared_ptr< Finder > FinderPtr
A shared pointer to a Finder.
std::map< std::string, std::string > QoS
Quality of service parameters.
std::ostream & operator<<(std::ostream &os, const LinkInfo &value)
Outputs the description of a LinkInfo to a stream, including all its fields.
Lightweight publish/subscribe framework, available for all Ice language mappings.
std::vector< Identity > IdentitySeq
A sequence of identities.
std::shared_ptr< Communicator > CommunicatorPtr
A shared pointer to a Communicator.
const Context noExplicitContext
Marker value used to indicate that no explicit request context was passed to a proxy invocation.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
std::int32_t cost
The cost of traversing this link.
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::optional<::IceStorm::TopicPrx > theTopic
The linked topic proxy. This proxy is never null.
std::tuple< const std::optional<::IceStorm::TopicPrx > &, const std::string &, const std::int32_t & > ice_tuple() const
Creates a tuple with all the fields of this struct.
std::string name
The name of the linked topic.
Information about a topic link.
Provides information about an incoming request being dispatched.