//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
//
// Ice version 3.7.11
//
//
//
// Generated from file `PermissionsVerifier.ice'
//
// Warning: do not edit this file.
//
//
//
export namespace Glacier2
{
/**
* This exception is raised if a client is denied the ability to create
* a session with the router.
*/
class PermissionDeniedException extends Ice.UserException
{
/**
* One-shot constructor to initialize all data members.
* @param reason The reason why permission was denied.
* @param ice_cause The error that cause this exception.
*/
constructor(reason?:string, ice_cause?:string|Error);
reason:string;
}
abstract class PermissionsVerifierPrx extends Ice.ObjectPrx
{
/**
* Check whether a user has permission to access the router.
* @param userId The user id for which to check permission.
* @param password The user's password.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
checkPermissions(userId:string, password:string, context?:Map):Ice.AsyncResult<[boolean, string]>;
/**
* 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):PermissionsVerifierPrx;
/**
* 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 PermissionsVerifier extends Ice.Object
{
/**
* The Glacier2 permissions verifier. This is called through the
* process of establishing a session.
* @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 Router
*/
abstract checkPermissions(userId:string, password:string, current:Ice.Current):PromiseLike<[boolean, string]>|[boolean, string];
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Glacier2::PermissionsVerifier".
*/
static ice_staticId():string;
}
abstract class SSLPermissionsVerifierPrx extends Ice.ObjectPrx
{
/**
* Check whether a user has permission to access the router.
* @param info The SSL information.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
* @see SSLInfo
*/
authorize(info:SSLInfo, context?:Map):Ice.AsyncResult<[boolean, string]>;
/**
* 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):SSLPermissionsVerifierPrx;
/**
* 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 SSLPermissionsVerifier extends Ice.Object
{
/**
* The SSL Glacier2 permissions verifier. This is called through the
* process of establishing a session.
* @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 Router
*/
abstract authorize(info:SSLInfo, current:Ice.Current):PromiseLike<[boolean, string]>|[boolean, string];
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Glacier2::SSLPermissionsVerifier".
*/
static ice_staticId():string;
}
}