Ice 3.7 C++98 API Reference
Loading...
Searching...
No Matches
IceStorm::Topic Class Referenceabstract

Publishers publish information on a particular topic. More...

#include <IceStorm/IceStorm.h>

Inheritance diagram for IceStorm::Topic:
Collaboration diagram for IceStorm::Topic:

Public Types

typedef TopicPtr PointerType
typedef TopicPrx ProxyType

Public Member Functions

virtual void destroy (const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Destroy the topic.
virtual LinkInfoSeq getLinkInfoSeq (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Retrieve information on the current links.
virtual::std::string getName (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Get the name of this topic.
virtual::Ice::ObjectPrx getNonReplicatedPublisher (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Get a non-replicated proxy to a publisher object for this topic.
virtual::Ice::ObjectPrx getPublisher (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Get a proxy to a publisher object for this topic.
virtual::Ice::IdentitySeq getSubscribers (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Retrieve the list of subscribers for this topic.
virtual const ::std::string & ice_id (const ::Ice::Current &current=::Ice::emptyCurrent) const
 Obtains a Slice type ID representing the most-derived interface supported by this object.
virtual ::std::vector< ::std::string > ice_ids (const ::Ice::Current &current=::Ice::emptyCurrent) const
 Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual bool ice_isA (const ::std::string &id, const ::Ice::Current &current=::Ice::emptyCurrent) const
 Determines whether this object supports an interface with the given Slice type ID.
virtual void link (const TopicPrx &linkTo, ::Ice::Int cost, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Create a link to the given topic.
virtual::Ice::ObjectPrx subscribeAndGetPublisher (const QoS &theQoS, const ::Ice::ObjectPrx &subscriber, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Subscribe with the given qos to this topic.
virtual void unlink (const TopicPrx &linkTo, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Destroy the link from this topic to the given topic linkTo.
virtual void unsubscribe (const ::Ice::ObjectPrx &subscriber, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Unsubscribe the given subscriber.
virtual ~Topic ()
Public Member Functions inherited from Ice::Object
virtual ObjectPtr ice_clone () const
 Returns a shallow copy of the object.
virtual void ice_collectable (bool b)
 Determines whether this object, and by extension the graph of all objects reachable from this object, are eligible for garbage collection when all external references to the graph have been released.
virtual bool ice_dispatch (Ice::Request &request, const DispatchInterceptorAsyncCallbackPtr &cb=0)
 Dispatches an invocation to a servant.
virtual SlicedDataPtr ice_getSlicedData () const
 Obtains the sliced data associated with this instance.
virtual const std::string & ice_id (const Current &current=Ice::emptyCurrent) const
 Returns the Slice type ID of the most-derived interface supported by this object.
virtual std::vector< std::string > ice_ids (const Current &current=Ice::emptyCurrent) const
 Returns the Slice type IDs of the interfaces supported by this object.
virtual bool ice_isA (const std::string &s, const Current &current=Ice::emptyCurrent) const
 Tests whether this object supports a specific Slice interface.
virtual Int ice_operationAttributes (const std::string &operation) const
 Returns the Freeze metadata attributes for an operation.
virtual void ice_ping (const Current &current=Ice::emptyCurrent) const
 Tests whether this object can be reached.
virtual void ice_postUnmarshal ()
 The Ice run time invokes this method vafter unmarshaling an object's data members.
virtual void ice_preMarshal ()
 The Ice run time invokes this method prior to marshaling an object's data members.
virtual bool operator< (const Object &) const
virtual bool operator== (const Object &) const
Public Member Functions inherited from IceUtil::Shared
void __clearFlag (unsigned char flag)
virtual void __decRef ()
virtual int __getRef () const
bool __hasFlag (unsigned char flag)
virtual void __incRef ()
void __setFlag (unsigned char flag)
virtual void __setNoDelete (bool)
Sharedoperator= (const Shared &)
 Shared ()
 Shared (const Shared &)
virtual ~Shared ()

Static Public Member Functions

static const ::std::string & ice_staticId ()
 Obtains the Slice type ID corresponding to this class.
Static Public Member Functions inherited from Ice::Object
static const std::string & ice_staticId ()
 Obtains the Slice type ID of this type.

Additional Inherited Members

Static Public Attributes inherited from IceUtil::Shared
static const unsigned char NoDelete
Protected Member Functions inherited from Ice::Object
 Object ()
virtual ~Object ()
Protected Attributes inherited from IceUtil::Shared
unsigned char _flags
IceUtilInternal::Atomic _ref

Detailed Description

Publishers publish information on a particular topic.

A topic logically represents a type.

See also
TopicManager

Member Typedef Documentation

◆ PointerType

◆ ProxyType

Constructor & Destructor Documentation

◆ ~Topic()

virtual IceStorm::Topic::~Topic ( )
virtual

Member Function Documentation

◆ destroy()

virtual void IceStorm::Topic::destroy ( const ::Ice::Current & current = ::Ice::emptyCurrent)
pure virtual

Destroy the topic.

Parameters
currentThe Current object for the invocation.

◆ getLinkInfoSeq()

virtual LinkInfoSeq IceStorm::Topic::getLinkInfoSeq ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Retrieve information on the current links.

Parameters
currentThe Current object for the invocation.
Returns
A sequence of LinkInfo objects.

◆ getName()

virtual::std::string IceStorm::Topic::getName ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Get the name of this topic.

Parameters
currentThe Current object for the invocation.
Returns
The name of the topic.
See also
TopicManager::create

◆ getNonReplicatedPublisher()

virtual::Ice::ObjectPrx IceStorm::Topic::getNonReplicatedPublisher ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Get a non-replicated proxy to a publisher object for this topic.

To publish data to a topic, the publisher calls getPublisher and then casts to the topic type. An unchecked cast must be used on this proxy.

Parameters
currentThe Current object for the invocation.
Returns
A proxy to publish data on this topic.

◆ getPublisher()

virtual::Ice::ObjectPrx IceStorm::Topic::getPublisher ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Get a proxy to a publisher object for this topic.

To publish data to a topic, the publisher calls getPublisher and then casts to the topic type. An unchecked cast must be used on this proxy. If a replicated IceStorm deployment is used this call may return a replicated proxy.

Parameters
currentThe Current object for the invocation.
Returns
A proxy to publish data on this topic.

◆ getSubscribers()

virtual::Ice::IdentitySeq IceStorm::Topic::getSubscribers ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Retrieve the list of subscribers for this topic.

Parameters
currentThe Current object for the invocation.
Returns
The sequence of Ice identities for the subscriber objects.

◆ ice_id()

virtual const ::std::string & IceStorm::Topic::ice_id ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
virtual

Obtains a Slice type ID representing the most-derived interface supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A fully-scoped type ID.

◆ ice_ids()

virtual ::std::vector< ::std::string > IceStorm::Topic::ice_ids ( const ::Ice::Current & current = ::Ice::emptyCurrent) const

Obtains a list of the Slice type IDs representing the interfaces supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A list of fully-scoped type IDs.

◆ ice_isA()

virtual bool IceStorm::Topic::ice_isA ( const ::std::string & id,
const ::Ice::Current & current = ::Ice::emptyCurrent ) const
virtual

Determines whether this object supports an interface with the given Slice type ID.

Parameters
idThe fully-scoped Slice type ID.
currentThe Current object for the invocation.
Returns
True if this object supports the interface, false, otherwise.

◆ ice_staticId()

const ::std::string & IceStorm::Topic::ice_staticId ( )
static

Obtains the Slice type ID corresponding to this class.

Returns
A fully-scoped type ID.

◆ link()

virtual void IceStorm::Topic::link ( const TopicPrx & linkTo,
::Ice::Int cost,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Create a link to the given topic.

All events originating on this topic will also be sent to linkTo.

Parameters
linkToThe topic to link to.
costThe cost to the linked topic.
currentThe Current object for the invocation.
Exceptions
IceStorm::LinkExistsRaised if a link to the same topic already exists.

◆ subscribeAndGetPublisher()

virtual::Ice::ObjectPrx IceStorm::Topic::subscribeAndGetPublisher ( const QoS & theQoS,
const ::Ice::ObjectPrx & subscriber,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Subscribe with the given qos to this topic.

A per-subscriber publisher object is returned.

Parameters
theQoSThe quality of service parameters for this subscription.
subscriberThe subscriber's proxy.
currentThe Current object for the invocation.
Returns
The per-subscriber publisher object.
Exceptions
IceStorm::AlreadySubscribedRaised if the subscriber object is already subscribed.
IceStorm::BadQoSRaised if the requested quality of service is unavailable or invalid.
IceStorm::InvalidSubscriberRaised if the subscriber object is null.
See also
unsubscribe

◆ unlink()

virtual void IceStorm::Topic::unlink ( const TopicPrx & linkTo,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Destroy the link from this topic to the given topic linkTo.

Parameters
linkToThe topic to destroy the link to.
currentThe Current object for the invocation.
Exceptions
IceStorm::NoSuchLinkRaised if a link to the topic does not exist.

◆ unsubscribe()

virtual void IceStorm::Topic::unsubscribe ( const ::Ice::ObjectPrx & subscriber,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Unsubscribe the given subscriber.

Parameters
subscriberThe proxy of an existing subscriber.
currentThe Current object for the invocation.
See also
subscribeAndGetPublisher

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