//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
//
// Ice version 3.7.11
//
//
//
// Generated from file `RemoteLogger.ice'
//
// Warning: do not edit this file.
//
//
//
export namespace Ice
{
/**
* An enumeration representing the different types of log messages.
*/
class LogMessageType
{
/**
* The {@link Logger} received a print message.
*/
static readonly PrintMessage:LogMessageType;
/**
* The {@link Logger} received a trace message.
*/
static readonly TraceMessage:LogMessageType;
/**
* The {@link Logger} received a warning message.
*/
static readonly WarningMessage:LogMessageType;
/**
* The {@link Logger} received an error message.
*/
static readonly ErrorMessage:LogMessageType;
static valueOf(value:number):LogMessageType;
equals(other:any):boolean;
hashCode():number;
toString():string;
readonly name:string;
readonly value:number;
}
/**
* A sequence of {@link LogMessageType}
*/
type LogMessageTypeSeq = LogMessageType[];
class LogMessageTypeSeqHelper
{
static write(outs:OutputStream, value:LogMessageTypeSeq):void;
static read(ins:InputStream):LogMessageTypeSeq;
}
/**
* A complete log message.
*/
class LogMessage
{
constructor(type?:LogMessageType, timestamp?:Ice.Long, traceCategory?:string, message?:string);
clone():LogMessage;
equals(rhs:any):boolean;
hashCode():number;
type:LogMessageType;
timestamp:Ice.Long;
traceCategory:string;
message:string;
static write(outs:OutputStream, value:LogMessage):void;
static read(ins:InputStream):LogMessage;
}
/**
* A sequence of {@link LogMessage}.
*/
type LogMessageSeq = LogMessage[];
class LogMessageSeqHelper
{
static write(outs:OutputStream, value:LogMessageSeq):void;
static read(ins:InputStream):LogMessageSeq;
}
abstract class RemoteLoggerPrx extends ObjectPrx
{
/**
* init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
* @param prefix The prefix of the associated local Logger.
* @param logMessages Old log messages generated before "now".
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
init(prefix:string, logMessages:LogMessageSeq, context?:Map):AsyncResult;
/**
* Log a LogMessage. Note that log may be called by LoggerAdmin before init.
* @param message The message to log.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
log(message:LogMessage, 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):RemoteLoggerPrx;
/**
* 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 RemoteLogger extends Object
{
/**
* The Ice remote logger interface. An application can implement a
* RemoteLogger to receive the log messages sent to the local {@link Logger}
* of another Ice application.
* @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 init(prefix:string, logMessages:LogMessageSeq, current:Current):PromiseLike|void;
/**
* The Ice remote logger interface. An application can implement a
* RemoteLogger to receive the log messages sent to the local {@link Logger}
* of another Ice application.
* @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 log(message:LogMessage, current:Current):PromiseLike|void;
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Ice::RemoteLogger".
*/
static ice_staticId():string;
}
/**
* Thrown when the provided RemoteLogger was previously attached to a LoggerAdmin.
*/
class RemoteLoggerAlreadyAttachedException extends UserException
{
}
abstract class LoggerAdminPrx extends ObjectPrx
{
/**
* Attaches a RemoteLogger object to the local logger.
* attachRemoteLogger calls init on the provided RemoteLogger proxy.
* @param prx A proxy to the remote logger.
* @param messageTypes The list of message types that the remote logger wishes to receive.
* An empty list means no filtering (send all message types).
* @param traceCategories The categories of traces that the remote logger wishes to receive.
* This parameter is ignored if messageTypes is not empty and does not include trace.
* An empty list means no filtering (send all trace categories).
* @param messageMax The maximum number of log messages (of all types) to be provided
* to init. A negative value requests all messages available.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
attachRemoteLogger(prx:RemoteLoggerPrx, messageTypes:LogMessageTypeSeq, traceCategories:StringSeq, messageMax:number, context?:Map):AsyncResult;
/**
* Detaches a RemoteLogger object from the local logger.
* @param prx A proxy to the remote logger.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
detachRemoteLogger(prx:RemoteLoggerPrx, context?:Map):AsyncResult;
/**
* Retrieves log messages recently logged.
* @param messageTypes The list of message types that the caller wishes to receive.
* An empty list means no filtering (send all message types).
* @param traceCategories The categories of traces that caller wish to receive.
* This parameter is ignored if messageTypes is not empty and does not include trace.
* An empty list means no filtering (send all trace categories).
* @param messageMax The maximum number of log messages (of all types) to be returned.
* A negative value requests all messages available.
* @param context The Context map to send with the invocation.
* @return The asynchronous result object for the invocation.
*/
getLog(messageTypes:LogMessageTypeSeq, traceCategories:StringSeq, messageMax:number, context?:Map):AsyncResult<[LogMessageSeq, 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:ObjectPrx, facet?:string):LoggerAdminPrx;
/**
* 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 LoggerAdmin extends Object
{
/**
* The interface of the admin object that allows an Ice application the attach its
* {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
* @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 attachRemoteLogger(prx:RemoteLoggerPrx, messageTypes:LogMessageTypeSeq, traceCategories:StringSeq, messageMax:number, current:Current):PromiseLike|void;
/**
* The interface of the admin object that allows an Ice application the attach its
* {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
* @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 detachRemoteLogger(prx:RemoteLoggerPrx, current:Current):PromiseLike|boolean;
/**
* The interface of the admin object that allows an Ice application the attach its
* {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
* @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 getLog(messageTypes:LogMessageTypeSeq, traceCategories:StringSeq, messageMax:number, current:Current):PromiseLike<[LogMessageSeq, string]>|[LogMessageSeq, string];
/**
* Obtains the Slice type ID of this type.
* @return The return value is always "::Ice::LoggerAdmin".
*/
static ice_staticId():string;
}
}