Ice 3.7 Slice API Reference
Operations | List of all members
IceStorm::Topic Interface Reference

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

defined in <IceStorm/IceStorm.ice>

interface Topic { ... }

Operations

void destroy ()
 Destroy the topic. More...
 
idempotent LinkInfoSeq getLinkInfoSeq ()
 Retrieve information on the current links. More...
 
idempotent string getName ()
 Get the name of this topic. More...
 
idempotent Object * getNonReplicatedPublisher ()
 Get a non-replicated proxy to a publisher object for this topic. More...
 
idempotent Object * getPublisher ()
 Get a proxy to a publisher object for this topic. More...
 
Ice::IdentitySeq getSubscribers ()
 Retrieve the list of subscribers for this topic. More...
 
void link (Topic *linkTo, int cost) throws LinkExists
 Create a link to the given topic. More...
 
Object * subscribeAndGetPublisher (QoS theQoS, Object *subscriber) throws AlreadySubscribed, InvalidSubscriber, BadQoS
 Subscribe with the given qos to this topic. More...
 
void unlink (Topic *linkTo) throws NoSuchLink
 Destroy the link from this topic to the given topic linkTo. More...
 
idempotent void unsubscribe (Object *subscriber)
 Unsubscribe the given subscriber. More...
 

Detailed Description

Publishers publish information on a particular topic.

A topic logically represents a type.

See also
TopicManager

Operation Documentation

◆ destroy()

void destroy ( )

Destroy the topic.

◆ getLinkInfoSeq()

["nonmutating","cpp:const"]
idempotent LinkInfoSeq getLinkInfoSeq ( )

Retrieve information on the current links.

Returns
A sequence of LinkInfo objects.

◆ getName()

["nonmutating","cpp:const"]
idempotent string getName ( )

Get the name of this topic.

Returns
The name of the topic.
See also
TopicManager::create

◆ getNonReplicatedPublisher()

["nonmutating","cpp:const"]
idempotent Object* getNonReplicatedPublisher ( )

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.

Returns
A proxy to publish data on this topic.

◆ getPublisher()

["nonmutating","cpp:const"]
idempotent Object* getPublisher ( )

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.

Returns
A proxy to publish data on this topic.

◆ getSubscribers()

["nonmutating","cpp:const"]
Ice::IdentitySeq getSubscribers ( )

Retrieve the list of subscribers for this topic.

Returns
The sequence of Ice identities for the subscriber objects.

◆ link()

void link ( Topic linkTo,
int  cost 
) throws LinkExists

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.
Exceptions
LinkExistsRaised if a link to the same topic already exists.

◆ subscribeAndGetPublisher()

Object* subscribeAndGetPublisher ( QoS  theQoS,
Object *  subscriber 
) throws AlreadySubscribed, InvalidSubscriber, BadQoS

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.
Returns
The per-subscriber publisher object.
Exceptions
AlreadySubscribedRaised if the subscriber object is already subscribed.
InvalidSubscriberRaised if the subscriber object is null.
BadQoSRaised if the requested quality of service is unavailable or invalid.
See also
unsubscribe

◆ unlink()

void unlink ( Topic linkTo) throws NoSuchLink

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

Parameters
linkToThe topic to destroy the link to.
Exceptions
NoSuchLinkRaised if a link to the topic does not exist.

◆ unsubscribe()

idempotent void unsubscribe ( Object *  subscriber)

Unsubscribe the given subscriber.

Parameters
subscriberThe proxy of an existing subscriber.
See also
subscribeAndGetPublisher

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