# -*- coding: utf-8 -*-
# **********************************************************************
#
# Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
#
# Ice version 3.7.1
#
# <auto-generated>
#
# Generated from file `Logger.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>
#

from sys import version_info as _version_info_
import Ice, IcePy

# Start of module Ice
_M_Ice = Ice.openModule('Ice')
__name__ = 'Ice'

if 'Logger' not in _M_Ice.__dict__:
    _M_Ice.Logger = Ice.createTempClass()
    class Logger(object):
        """
        The Ice message logger. Applications can provide their own logger
        by implementing this interface and installing it in a communicator.
        """
        def __init__(self):
            if Ice.getType(self) == _M_Ice.Logger:
                raise RuntimeError('Ice.Logger is an abstract class')

        def _print(self, message):
            """
            Print a message. The message is printed literally, without
            any decorations such as executable name or time stamp.
            Arguments:
            message -- The message to log.
            """
            raise NotImplementedError("method '_print' not implemented")

        def trace(self, category, message):
            """
            Log a trace message.
            Arguments:
            category -- The trace category.
            message -- The trace message to log.
            """
            raise NotImplementedError("method 'trace' not implemented")

        def warning(self, message):
            """
            Log a warning message.
            Arguments:
            message -- The warning message to log.
            """
            raise NotImplementedError("method 'warning' not implemented")

        def error(self, message):
            """
            Log an error message.
            Arguments:
            message -- The error message to log.
            """
            raise NotImplementedError("method 'error' not implemented")

        def getPrefix(self):
            """
            Returns this logger's prefix.
            Returns: The prefix.
            """
            raise NotImplementedError("method 'getPrefix' not implemented")

        def cloneWithPrefix(self, prefix):
            """
            Returns a clone of the logger with a new prefix.
            Arguments:
            prefix -- The new prefix for the logger.
            Returns: A logger instance.
            """
            raise NotImplementedError("method 'cloneWithPrefix' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Ice._t_Logger)

        __repr__ = __str__

    _M_Ice._t_Logger = IcePy.defineValue('::Ice::Logger', Logger, -1, (), False, True, None, ())
    Logger._ice_type = _M_Ice._t_Logger

    _M_Ice.Logger = Logger
    del Logger

# End of module Ice
