//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
//
// Ice version 3.7.11
//
//
//
// Generated from file `IceStorm.ice'
//
// Warning: do not edit this file.
//
//
//
export namespace IceStorm
{
/**
* Information on the topic links.
*/
class LinkInfo
{
constructor(theTopic?:TopicPrx, name?:string, cost?:number);
clone():LinkInfo;
equals(rhs:any):boolean;
theTopic:TopicPrx;
name:string;
cost:number;
static write(outs:Ice.OutputStream, value:LinkInfo):void;
static read(ins:Ice.InputStream):LinkInfo;
}
/**
* A sequence of {@link LinkInfo} objects.
*/
type LinkInfoSeq = LinkInfo[];
class LinkInfoSeqHelper
{
static write(outs:Ice.OutputStream, value:LinkInfoSeq):void;
static read(ins:Ice.InputStream):LinkInfoSeq;
}
/**
* This dictionary represents quality of service parameters.
* @see Topic#subscribeAndGetPublisher
*/
class QoS extends Map
{
}
class QoSHelper
{
static write(outs:Ice.OutputStream, value:QoS):void;
static read(ins:Ice.InputStream):QoS;
}
/**
* This exception indicates that an attempt was made to create a link
* that already exists.
*/
class LinkExists extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param name The name of the linked topic.
* @param ice_cause The error that cause this exception.
*/
constructor(name?:string, ice_cause?:string|Error);
name:string;
}
/**
* This exception indicates that an attempt was made to remove a
* link that does not exist.
*/
class NoSuchLink extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param name The name of the link that does not exist.
* @param ice_cause The error that cause this exception.
*/
constructor(name?:string, ice_cause?:string|Error);
name:string;
}
/**
* This exception indicates that an attempt was made to subscribe
* a proxy for which a subscription already exists.
*/
class AlreadySubscribed extends Ice.UserException
{
}
/**
* This exception indicates that an attempt was made to subscribe
* a proxy that is null.
*/
class InvalidSubscriber extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param reason The reason for the failure.
* @param ice_cause The error that cause this exception.
*/
constructor(reason?:string, ice_cause?:string|Error);
reason:string;
}
/**
* This exception indicates that a subscription failed due to an
* invalid QoS.
*/
class BadQoS extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param reason The reason for the failure.
* @param ice_cause The error that cause this exception.
*/
constructor(reason?:string, ice_cause?:string|Error);
reason:string;
}
abstract class TopicPrx extends Ice.ObjectPrx
{
/**
* Get the name of this topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
* @see TopicManager#create
*/
getName(context?:Map):Ice.AsyncResult;
/**
* 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.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getPublisher(context?:Map):Ice.AsyncResult;
/**
* 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.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getNonReplicatedPublisher(context?:Map):Ice.AsyncResult;
/**
* Subscribe with the given qos to this topic. A
* per-subscriber publisher object is returned.
* @param theQoS The quality of service parameters for this
* subscription.
* @param subscriber The subscriber's proxy.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
* @see #unsubscribe
*/
subscribeAndGetPublisher(theQoS:QoS, subscriber:Ice.ObjectPrx, context?:Map):Ice.AsyncResult;
/**
* Unsubscribe the given subscriber.
* @param subscriber The proxy of an existing subscriber.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
* @see #subscribeAndGetPublisher
*/
unsubscribe(subscriber:Ice.ObjectPrx, context?:Map):Ice.AsyncResult;
/**
* Create a link to the given topic. All events originating
* on this topic will also be sent to linkTo.
* @param linkTo The topic to link to.
* @param cost The cost to the linked topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
link(linkTo:TopicPrx, cost:number, context?:Map):Ice.AsyncResult;
/**
* Destroy the link from this topic to the given topic linkTo.
* @param linkTo The topic to destroy the link to.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
unlink(linkTo:TopicPrx, context?:Map):Ice.AsyncResult;
/**
* Retrieve information on the current links.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getLinkInfoSeq(context?:Map):Ice.AsyncResult;
/**
* Retrieve the list of subscribers for this topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getSubscribers(context?:Map):Ice.AsyncResult;
/**
* Destroy the topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
destroy(context?:Map):Ice.AsyncResult;
/**
* Downcasts a proxy without confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @return A proxy with the requested type.
*/
static uncheckedCast(prx:Ice.ObjectPrx, facet?:string):TopicPrx;
/**
* Downcasts a proxy after confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @param facet A facet name.
* @param context The context map for the invocation.
* @return A proxy with the requested type and facet, or nil if the target proxy is nil or the target
* object does not support the requested type.
*/
static checkedCast(prx:Ice.ObjectPrx, facet?:string, contex?:Map):Ice.AsyncResult;
}
abstract class Topic extends Ice.Object
{
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract getName(current:Ice.Current):PromiseLike|string;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract getPublisher(current:Ice.Current):PromiseLike|Ice.ObjectPrx;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract getNonReplicatedPublisher(current:Ice.Current):PromiseLike|Ice.ObjectPrx;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract subscribeAndGetPublisher(theQoS:QoS, subscriber:Ice.ObjectPrx, current:Ice.Current):PromiseLike|Ice.ObjectPrx;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract unsubscribe(subscriber:Ice.ObjectPrx, current:Ice.Current):PromiseLike|void;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract link(linkTo:TopicPrx, cost:number, current:Ice.Current):PromiseLike|void;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract unlink(linkTo:TopicPrx, current:Ice.Current):PromiseLike|void;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract getLinkInfoSeq(current:Ice.Current):PromiseLike|LinkInfoSeq;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract getSubscribers(current:Ice.Current):PromiseLike|Ice.IdentitySeq;
/**
* Publishers publish information on a particular topic. A topic
* logically represents a type.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see TopicManager
*/
abstract destroy(current:Ice.Current):PromiseLike|void;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::IceStorm::Topic".
*/
static ice_staticId():string;
}
/**
* Mapping of topic name to topic proxy.
*/
class TopicDict extends Map
{
}
class TopicDictHelper
{
static write(outs:Ice.OutputStream, value:TopicDict):void;
static read(ins:Ice.InputStream):TopicDict;
}
/**
* This exception indicates that an attempt was made to create a topic
* that already exists.
*/
class TopicExists extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param name The name of the topic that already exists.
* @param ice_cause The error that cause this exception.
*/
constructor(name?:string, ice_cause?:string|Error);
name:string;
}
/**
* This exception indicates that an attempt was made to retrieve a
* topic that does not exist.
*/
class NoSuchTopic extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param name The name of the topic that does not exist.
* @param ice_cause The error that cause this exception.
*/
constructor(name?:string, ice_cause?:string|Error);
name:string;
}
abstract class TopicManagerPrx extends Ice.ObjectPrx
{
/**
* Create a new topic. The topic name must be unique.
* @param name The name of the topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
create(name:string, context?:Map):Ice.AsyncResult;
/**
* Retrieve a topic by name.
* @param name The name of the topic.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
retrieve(name:string, context?:Map):Ice.AsyncResult;
/**
* Retrieve all topics managed by this topic manager.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
retrieveAll(context?:Map):Ice.AsyncResult;
/**
* Returns the checksums for the IceStorm Slice definitions.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getSliceChecksums(context?:Map):Ice.AsyncResult;
/**
* Downcasts a proxy without confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @return A proxy with the requested type.
*/
static uncheckedCast(prx:Ice.ObjectPrx, facet?:string):TopicManagerPrx;
/**
* Downcasts a proxy after confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @param facet A facet name.
* @param context The context map for the invocation.
* @return A proxy with the requested type and facet, or nil if the target proxy is nil or the target
* object does not support the requested type.
*/
static checkedCast(prx:Ice.ObjectPrx, facet?:string, contex?:Map):Ice.AsyncResult;
}
abstract class TopicManager extends Ice.Object
{
/**
* A topic manager manages topics, and subscribers to topics.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see Topic
*/
abstract create(name:string, current:Ice.Current):PromiseLike|TopicPrx;
/**
* A topic manager manages topics, and subscribers to topics.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see Topic
*/
abstract retrieve(name:string, current:Ice.Current):PromiseLike|TopicPrx;
/**
* A topic manager manages topics, and subscribers to topics.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see Topic
*/
abstract retrieveAll(current:Ice.Current):PromiseLike|TopicDict;
/**
* A topic manager manages topics, and subscribers to topics.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
* @see Topic
*/
abstract getSliceChecksums(current:Ice.Current):PromiseLike|Ice.SliceChecksumDict;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::IceStorm::TopicManager".
*/
static ice_staticId():string;
}
abstract class FinderPrx extends Ice.ObjectPrx
{
/**
* Get the topic manager proxy. The proxy might point to several
* replicas.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getTopicManager(context?:Map):Ice.AsyncResult;
/**
* Downcasts a proxy without confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @return A proxy with the requested type.
*/
static uncheckedCast(prx:Ice.ObjectPrx, facet?:string):FinderPrx;
/**
* Downcasts a proxy after confirming the target object's type via a remote invocation.
* @param prx The target proxy.
* @param facet A facet name.
* @param context The context map for the invocation.
* @return A proxy with the requested type and facet, or nil if the target proxy is nil or the target
* object does not support the requested type.
*/
static checkedCast(prx:Ice.ObjectPrx, facet?:string, contex?:Map):Ice.AsyncResult;
}
abstract class Finder extends Ice.Object
{
/**
* This interface is advertised by the IceStorm service through the
* Ice object with the identity `IceStorm/Finder'. This allows clients
* to retrieve the topic manager with just the endpoint information of
* the IceStorm service.
* @param current The Current object for the invocation.
* @return The result or a promise like object that will be resolved with the result of the invocation.
*/
abstract getTopicManager(current:Ice.Current):PromiseLike|TopicManagerPrx;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::IceStorm::Finder".
*/
static ice_staticId():string;
}
}