;
}
abstract class Locator extends Object
{
/**
* The Ice locator interface. This interface is used by clients to
* lookup adapters and objects. It is also used by servers to get the
* locator registry proxy.
*
* The {@link Locator} interface is intended to be used by
* Ice internals and by locator implementations. Regular user code
* should not attempt to use any functionality of this interface
* directly.
* @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 findObjectById(id:Identity, current:Current):PromiseLike|Ice.ObjectPrx;
/**
* The Ice locator interface. This interface is used by clients to
* lookup adapters and objects. It is also used by servers to get the
* locator registry proxy.
*
* The {@link Locator} interface is intended to be used by
* Ice internals and by locator implementations. Regular user code
* should not attempt to use any functionality of this interface
* directly.
* @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 findAdapterById(id:string, current:Current):PromiseLike|Ice.ObjectPrx;
/**
* The Ice locator interface. This interface is used by clients to
* lookup adapters and objects. It is also used by servers to get the
* locator registry proxy.
*
* The {@link Locator} interface is intended to be used by
* Ice internals and by locator implementations. Regular user code
* should not attempt to use any functionality of this interface
* directly.
* @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 getRegistry(current:Current):PromiseLike|LocatorRegistryPrx;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Ice::Locator".
*/
static ice_staticId():string;
}
abstract class LocatorRegistryPrx extends ObjectPrx
{
/**
* Set the adapter endpoints with the locator registry.
* @param id The adapter id.
* @param proxy The adapter proxy (a dummy direct proxy created
* by the adapter). The direct proxy contains the adapter
* endpoints.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
setAdapterDirectProxy(id:string, proxy:Ice.ObjectPrx, context?:Map):AsyncResult;
/**
* Set the adapter endpoints with the locator registry.
* @param adapterId The adapter id.
* @param replicaGroupId The replica group id.
* @param p The adapter proxy (a dummy direct proxy created
* by the adapter). The direct proxy contains the adapter
* endpoints.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
setReplicatedAdapterDirectProxy(adapterId:string, replicaGroupId:string, p:Ice.ObjectPrx, context?:Map):AsyncResult;
/**
* Set the process proxy for a server.
* @param id The server id.
* @param proxy The process proxy.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
setServerProcessProxy(id:string, proxy:ProcessPrx, context?:Map):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:ObjectPrx, facet?:string):LocatorRegistryPrx;
/**
* 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:ObjectPrx, facet?:string, contex?:Map):AsyncResult;
}
abstract class LocatorRegistry extends Object
{
/**
* The Ice locator registry interface. This interface is used by
* servers to register adapter endpoints with the locator.
*
* The {@link LocatorRegistry} interface is intended to be used
* by Ice internals and by locator implementations. Regular user
* code should not attempt to use any functionality of this interface
* directly.
* @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 setAdapterDirectProxy(id:string, proxy:Ice.ObjectPrx, current:Current):PromiseLike|void;
/**
* The Ice locator registry interface. This interface is used by
* servers to register adapter endpoints with the locator.
*
* The {@link LocatorRegistry} interface is intended to be used
* by Ice internals and by locator implementations. Regular user
* code should not attempt to use any functionality of this interface
* directly.
* @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 setReplicatedAdapterDirectProxy(adapterId:string, replicaGroupId:string, p:Ice.ObjectPrx, current:Current):PromiseLike|void;
/**
* The Ice locator registry interface. This interface is used by
* servers to register adapter endpoints with the locator.
*
* The {@link LocatorRegistry} interface is intended to be used
* by Ice internals and by locator implementations. Regular user
* code should not attempt to use any functionality of this interface
* directly.
* @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 setServerProcessProxy(id:string, proxy:ProcessPrx, current:Current):PromiseLike|void;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Ice::LocatorRegistry".
*/
static ice_staticId():string;
}
abstract class LocatorFinderPrx extends ObjectPrx
{
/**
* Get the locator proxy implemented by the process hosting this
* finder object. 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.
*/
getLocator(context?:Map):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:ObjectPrx, facet?:string):LocatorFinderPrx;
/**
* 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:ObjectPrx, facet?:string, contex?:Map):AsyncResult;
}
abstract class LocatorFinder extends Object
{
/**
* This interface should be implemented by services implementing the
* Ice::Locator interface. It should be advertised through an Ice
* object with the identity `Ice/LocatorFinder'. This allows clients
* to retrieve the locator proxy with just the endpoint information of
* the 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 getLocator(current:Current):PromiseLike|LocatorPrx;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Ice::LocatorFinder".
*/
static ice_staticId():string;
}
}