import {Ice} from 'ice';
declare module './IceGrid.ns' {
namespace IceGrid {
/**
* This exception is raised if a user account for a given session
* identifier can't be found.
*/
class UserAccountNotFoundException extends Ice.UserException {}
/**
* A user account mapper object is used by IceGrid nodes to map
* session identifiers to user accounts.
*/
abstract class UserAccountMapper extends Ice.Object {
/**
* Get the name of the user account for the given user. This is
* used by IceGrid nodes to figure out the user account to use
* to run servers.
*
* @param user The value of the server descriptor's user
* attribute. If this attribute is not defined, and the server's
* activation mode is session, the default value of
* user is the session identifier.
*
* @return The user account name.
*
* @throws UserAccountNotFoundException Raised if no user account
* is found for the given user.
*/
abstract getUserAccount(
user: string,
current: Ice.Current,
): Ice.OperationResult;
}
/**
* A user account mapper object is used by IceGrid nodes to map
* session identifiers to user accounts.
*/
class UserAccountMapperPrx extends Ice.ObjectPrx {
/**
* Get the name of the user account for the given user. This is
* used by IceGrid nodes to figure out the user account to use
* to run servers.
*
* @param user The value of the server descriptor's user
* attribute. If this attribute is not defined, and the server's
* activation mode is session, the default value of
* user is the session identifier.
*
* @return The user account name.
*
* @throws UserAccountNotFoundException Raised if no user account
* is found for the given user.
*/
getUserAccount(user: string, ctx?: Ice.Context): Ice.AsyncResult;
}
}
}
export {IceGrid} from './IceGrid.ns';