# -*- 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 `Session.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>
#

from sys import version_info as _version_info_
import Ice, IcePy
import Ice.BuiltinSequences_ice
import Ice.Identity_ice
import Glacier2.SSLInfo_ice

# Included module Ice
_M_Ice = Ice.openModule('Ice')

# Included module Glacier2
_M_Glacier2 = Ice.openModule('Glacier2')

# Start of module Glacier2
__name__ = 'Glacier2'

if 'CannotCreateSessionException' not in _M_Glacier2.__dict__:
    _M_Glacier2.CannotCreateSessionException = Ice.createTempClass()
    class CannotCreateSessionException(Ice.UserException):
        """
        This exception is raised if an attempt to create a new session failed.
        Members:
        reason -- The reason why session creation has failed.
        """
        def __init__(self, reason=''):
            self.reason = reason

        def __str__(self):
            return IcePy.stringifyException(self)

        __repr__ = __str__

        _ice_id = '::Glacier2::CannotCreateSessionException'

    _M_Glacier2._t_CannotCreateSessionException = IcePy.defineException('::Glacier2::CannotCreateSessionException', CannotCreateSessionException, (), True, None, (('reason', (), IcePy._t_string, False, 0),))
    CannotCreateSessionException._ice_type = _M_Glacier2._t_CannotCreateSessionException

    _M_Glacier2.CannotCreateSessionException = CannotCreateSessionException
    del CannotCreateSessionException

_M_Glacier2._t_Session = IcePy.defineValue('::Glacier2::Session', Ice.Value, -1, (), False, True, None, ())

if 'SessionPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.SessionPrx = Ice.createTempClass()
    class SessionPrx(Ice.ObjectPrx):

        """
        Destroy the session. This is called automatically when the router is destroyed.
        Arguments:
        context -- The request context for the invocation.
        """
        def destroy(self, context=None):
            return _M_Glacier2.Session._op_destroy.invoke(self, ((), context))

        """
        Destroy the session. This is called automatically when the router is destroyed.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def destroyAsync(self, context=None):
            return _M_Glacier2.Session._op_destroy.invokeAsync(self, ((), context))

        """
        Destroy the session. This is called automatically when the router is destroyed.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_destroy(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.Session._op_destroy.begin(self, ((), _response, _ex, _sent, context))

        """
        Destroy the session. This is called automatically when the router is destroyed.
        Arguments:
        """
        def end_destroy(self, _r):
            return _M_Glacier2.Session._op_destroy.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.SessionPrx.ice_checkedCast(proxy, '::Glacier2::Session', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.SessionPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::Session'
    _M_Glacier2._t_SessionPrx = IcePy.defineProxy('::Glacier2::Session', SessionPrx)

    _M_Glacier2.SessionPrx = SessionPrx
    del SessionPrx

    _M_Glacier2.Session = Ice.createTempClass()
    class Session(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::Session', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::Session'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::Session'

        def destroy(self, current=None):
            """
            Destroy the session. This is called automatically when the router is destroyed.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'destroy' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_SessionDisp)

        __repr__ = __str__

    _M_Glacier2._t_SessionDisp = IcePy.defineClass('::Glacier2::Session', Session, (), None, ())
    Session._ice_type = _M_Glacier2._t_SessionDisp

    Session._op_destroy = IcePy.Operation('destroy', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, None, (), (), (), None, ())

    _M_Glacier2.Session = Session
    del Session

_M_Glacier2._t_StringSet = IcePy.defineValue('::Glacier2::StringSet', Ice.Value, -1, (), False, True, None, ())

if 'StringSetPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.StringSetPrx = Ice.createTempClass()
    class StringSetPrx(Ice.ObjectPrx):

        """
        Add a sequence of strings to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of strings to be added.
        context -- The request context for the invocation.
        """
        def add(self, additions, context=None):
            return _M_Glacier2.StringSet._op_add.invoke(self, ((additions, ), context))

        """
        Add a sequence of strings to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of strings to be added.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def addAsync(self, additions, context=None):
            return _M_Glacier2.StringSet._op_add.invokeAsync(self, ((additions, ), context))

        """
        Add a sequence of strings to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of strings to be added.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_add(self, additions, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.StringSet._op_add.begin(self, ((additions, ), _response, _ex, _sent, context))

        """
        Add a sequence of strings to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of strings to be added.
        """
        def end_add(self, _r):
            return _M_Glacier2.StringSet._op_add.end(self, _r)

        """
        Remove a sequence of strings from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of strings to be removed.
        context -- The request context for the invocation.
        """
        def remove(self, deletions, context=None):
            return _M_Glacier2.StringSet._op_remove.invoke(self, ((deletions, ), context))

        """
        Remove a sequence of strings from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of strings to be removed.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def removeAsync(self, deletions, context=None):
            return _M_Glacier2.StringSet._op_remove.invokeAsync(self, ((deletions, ), context))

        """
        Remove a sequence of strings from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of strings to be removed.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_remove(self, deletions, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.StringSet._op_remove.begin(self, ((deletions, ), _response, _ex, _sent, context))

        """
        Remove a sequence of strings from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of strings to be removed.
        """
        def end_remove(self, _r):
            return _M_Glacier2.StringSet._op_remove.end(self, _r)

        """
        Returns a sequence of strings describing the constraints in this
        set.
        Arguments:
        context -- The request context for the invocation.
        Returns: The sequence of strings for this set.
        """
        def get(self, context=None):
            return _M_Glacier2.StringSet._op_get.invoke(self, ((), context))

        """
        Returns a sequence of strings describing the constraints in this
        set.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def getAsync(self, context=None):
            return _M_Glacier2.StringSet._op_get.invokeAsync(self, ((), context))

        """
        Returns a sequence of strings describing the constraints in this
        set.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_get(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.StringSet._op_get.begin(self, ((), _response, _ex, _sent, context))

        """
        Returns a sequence of strings describing the constraints in this
        set.
        Arguments:
        Returns: The sequence of strings for this set.
        """
        def end_get(self, _r):
            return _M_Glacier2.StringSet._op_get.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.StringSetPrx.ice_checkedCast(proxy, '::Glacier2::StringSet', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.StringSetPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::StringSet'
    _M_Glacier2._t_StringSetPrx = IcePy.defineProxy('::Glacier2::StringSet', StringSetPrx)

    _M_Glacier2.StringSetPrx = StringSetPrx
    del StringSetPrx

    _M_Glacier2.StringSet = Ice.createTempClass()
    class StringSet(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::StringSet', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::StringSet'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::StringSet'

        def add(self, additions, current=None):
            """
            Add a sequence of strings to this set of constraints. Order is
            not preserved and duplicates are implicitly removed.
            Arguments:
            additions -- The sequence of strings to be added.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'add' not implemented")

        def remove(self, deletions, current=None):
            """
            Remove a sequence of strings from this set of constraints. No
            errors are returned if an entry is not found.
            Arguments:
            deletions -- The sequence of strings to be removed.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'remove' not implemented")

        def get(self, current=None):
            """
            Returns a sequence of strings describing the constraints in this
            set.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'get' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_StringSetDisp)

        __repr__ = __str__

    _M_Glacier2._t_StringSetDisp = IcePy.defineClass('::Glacier2::StringSet', StringSet, (), None, ())
    StringSet._ice_type = _M_Glacier2._t_StringSetDisp

    StringSet._op_add = IcePy.Operation('add', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (((), _M_Ice._t_StringSeq, False, 0),), (), None, ())
    StringSet._op_remove = IcePy.Operation('remove', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (((), _M_Ice._t_StringSeq, False, 0),), (), None, ())
    StringSet._op_get = IcePy.Operation('get', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (), (), ((), _M_Ice._t_StringSeq, False, 0), ())

    _M_Glacier2.StringSet = StringSet
    del StringSet

_M_Glacier2._t_IdentitySet = IcePy.defineValue('::Glacier2::IdentitySet', Ice.Value, -1, (), False, True, None, ())

if 'IdentitySetPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.IdentitySetPrx = Ice.createTempClass()
    class IdentitySetPrx(Ice.ObjectPrx):

        """
        Add a sequence of Ice identities to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of Ice identities to be added.
        context -- The request context for the invocation.
        """
        def add(self, additions, context=None):
            return _M_Glacier2.IdentitySet._op_add.invoke(self, ((additions, ), context))

        """
        Add a sequence of Ice identities to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of Ice identities to be added.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def addAsync(self, additions, context=None):
            return _M_Glacier2.IdentitySet._op_add.invokeAsync(self, ((additions, ), context))

        """
        Add a sequence of Ice identities to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of Ice identities to be added.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_add(self, additions, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.IdentitySet._op_add.begin(self, ((additions, ), _response, _ex, _sent, context))

        """
        Add a sequence of Ice identities to this set of constraints. Order is
        not preserved and duplicates are implicitly removed.
        Arguments:
        additions -- The sequence of Ice identities to be added.
        """
        def end_add(self, _r):
            return _M_Glacier2.IdentitySet._op_add.end(self, _r)

        """
        Remove a sequence of identities from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of Ice identities to be removed.
        context -- The request context for the invocation.
        """
        def remove(self, deletions, context=None):
            return _M_Glacier2.IdentitySet._op_remove.invoke(self, ((deletions, ), context))

        """
        Remove a sequence of identities from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of Ice identities to be removed.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def removeAsync(self, deletions, context=None):
            return _M_Glacier2.IdentitySet._op_remove.invokeAsync(self, ((deletions, ), context))

        """
        Remove a sequence of identities from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of Ice identities to be removed.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_remove(self, deletions, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.IdentitySet._op_remove.begin(self, ((deletions, ), _response, _ex, _sent, context))

        """
        Remove a sequence of identities from this set of constraints. No
        errors are returned if an entry is not found.
        Arguments:
        deletions -- The sequence of Ice identities to be removed.
        """
        def end_remove(self, _r):
            return _M_Glacier2.IdentitySet._op_remove.end(self, _r)

        """
        Returns a sequence of identities describing the constraints in this
        set.
        Arguments:
        context -- The request context for the invocation.
        Returns: The sequence of Ice identities for this set.
        """
        def get(self, context=None):
            return _M_Glacier2.IdentitySet._op_get.invoke(self, ((), context))

        """
        Returns a sequence of identities describing the constraints in this
        set.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def getAsync(self, context=None):
            return _M_Glacier2.IdentitySet._op_get.invokeAsync(self, ((), context))

        """
        Returns a sequence of identities describing the constraints in this
        set.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_get(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.IdentitySet._op_get.begin(self, ((), _response, _ex, _sent, context))

        """
        Returns a sequence of identities describing the constraints in this
        set.
        Arguments:
        Returns: The sequence of Ice identities for this set.
        """
        def end_get(self, _r):
            return _M_Glacier2.IdentitySet._op_get.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.IdentitySetPrx.ice_checkedCast(proxy, '::Glacier2::IdentitySet', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.IdentitySetPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::IdentitySet'
    _M_Glacier2._t_IdentitySetPrx = IcePy.defineProxy('::Glacier2::IdentitySet', IdentitySetPrx)

    _M_Glacier2.IdentitySetPrx = IdentitySetPrx
    del IdentitySetPrx

    _M_Glacier2.IdentitySet = Ice.createTempClass()
    class IdentitySet(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::IdentitySet', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::IdentitySet'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::IdentitySet'

        def add(self, additions, current=None):
            """
            Add a sequence of Ice identities to this set of constraints. Order is
            not preserved and duplicates are implicitly removed.
            Arguments:
            additions -- The sequence of Ice identities to be added.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'add' not implemented")

        def remove(self, deletions, current=None):
            """
            Remove a sequence of identities from this set of constraints. No
            errors are returned if an entry is not found.
            Arguments:
            deletions -- The sequence of Ice identities to be removed.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'remove' not implemented")

        def get(self, current=None):
            """
            Returns a sequence of identities describing the constraints in this
            set.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'get' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_IdentitySetDisp)

        __repr__ = __str__

    _M_Glacier2._t_IdentitySetDisp = IcePy.defineClass('::Glacier2::IdentitySet', IdentitySet, (), None, ())
    IdentitySet._ice_type = _M_Glacier2._t_IdentitySetDisp

    IdentitySet._op_add = IcePy.Operation('add', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (((), _M_Ice._t_IdentitySeq, False, 0),), (), None, ())
    IdentitySet._op_remove = IcePy.Operation('remove', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (((), _M_Ice._t_IdentitySeq, False, 0),), (), None, ())
    IdentitySet._op_get = IcePy.Operation('get', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (), (), ((), _M_Ice._t_IdentitySeq, False, 0), ())

    _M_Glacier2.IdentitySet = IdentitySet
    del IdentitySet

_M_Glacier2._t_SessionControl = IcePy.defineValue('::Glacier2::SessionControl', Ice.Value, -1, (), False, True, None, ())

if 'SessionControlPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.SessionControlPrx = Ice.createTempClass()
    class SessionControlPrx(Ice.ObjectPrx):

        """
        Access the object that manages the allowable categories
        for object identities for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A StringSet object.
        """
        def categories(self, context=None):
            return _M_Glacier2.SessionControl._op_categories.invoke(self, ((), context))

        """
        Access the object that manages the allowable categories
        for object identities for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def categoriesAsync(self, context=None):
            return _M_Glacier2.SessionControl._op_categories.invokeAsync(self, ((), context))

        """
        Access the object that manages the allowable categories
        for object identities for this session.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_categories(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionControl._op_categories.begin(self, ((), _response, _ex, _sent, context))

        """
        Access the object that manages the allowable categories
        for object identities for this session.
        Arguments:
        Returns: A StringSet object.
        """
        def end_categories(self, _r):
            return _M_Glacier2.SessionControl._op_categories.end(self, _r)

        """
        Access the object that manages the allowable adapter identities
        for objects for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A StringSet object.
        """
        def adapterIds(self, context=None):
            return _M_Glacier2.SessionControl._op_adapterIds.invoke(self, ((), context))

        """
        Access the object that manages the allowable adapter identities
        for objects for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def adapterIdsAsync(self, context=None):
            return _M_Glacier2.SessionControl._op_adapterIds.invokeAsync(self, ((), context))

        """
        Access the object that manages the allowable adapter identities
        for objects for this session.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_adapterIds(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionControl._op_adapterIds.begin(self, ((), _response, _ex, _sent, context))

        """
        Access the object that manages the allowable adapter identities
        for objects for this session.
        Arguments:
        Returns: A StringSet object.
        """
        def end_adapterIds(self, _r):
            return _M_Glacier2.SessionControl._op_adapterIds.end(self, _r)

        """
        Access the object that manages the allowable object identities
        for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: An IdentitySet object.
        """
        def identities(self, context=None):
            return _M_Glacier2.SessionControl._op_identities.invoke(self, ((), context))

        """
        Access the object that manages the allowable object identities
        for this session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def identitiesAsync(self, context=None):
            return _M_Glacier2.SessionControl._op_identities.invokeAsync(self, ((), context))

        """
        Access the object that manages the allowable object identities
        for this session.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_identities(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionControl._op_identities.begin(self, ((), _response, _ex, _sent, context))

        """
        Access the object that manages the allowable object identities
        for this session.
        Arguments:
        Returns: An IdentitySet object.
        """
        def end_identities(self, _r):
            return _M_Glacier2.SessionControl._op_identities.end(self, _r)

        """
        Get the session timeout.
        Arguments:
        context -- The request context for the invocation.
        Returns: The timeout.
        """
        def getSessionTimeout(self, context=None):
            return _M_Glacier2.SessionControl._op_getSessionTimeout.invoke(self, ((), context))

        """
        Get the session timeout.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def getSessionTimeoutAsync(self, context=None):
            return _M_Glacier2.SessionControl._op_getSessionTimeout.invokeAsync(self, ((), context))

        """
        Get the session timeout.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getSessionTimeout(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionControl._op_getSessionTimeout.begin(self, ((), _response, _ex, _sent, context))

        """
        Get the session timeout.
        Arguments:
        Returns: The timeout.
        """
        def end_getSessionTimeout(self, _r):
            return _M_Glacier2.SessionControl._op_getSessionTimeout.end(self, _r)

        """
        Destroy the associated session.
        Arguments:
        context -- The request context for the invocation.
        """
        def destroy(self, context=None):
            return _M_Glacier2.SessionControl._op_destroy.invoke(self, ((), context))

        """
        Destroy the associated session.
        Arguments:
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def destroyAsync(self, context=None):
            return _M_Glacier2.SessionControl._op_destroy.invokeAsync(self, ((), context))

        """
        Destroy the associated session.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_destroy(self, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionControl._op_destroy.begin(self, ((), _response, _ex, _sent, context))

        """
        Destroy the associated session.
        Arguments:
        """
        def end_destroy(self, _r):
            return _M_Glacier2.SessionControl._op_destroy.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.SessionControlPrx.ice_checkedCast(proxy, '::Glacier2::SessionControl', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.SessionControlPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SessionControl'
    _M_Glacier2._t_SessionControlPrx = IcePy.defineProxy('::Glacier2::SessionControl', SessionControlPrx)

    _M_Glacier2.SessionControlPrx = SessionControlPrx
    del SessionControlPrx

    _M_Glacier2.SessionControl = Ice.createTempClass()
    class SessionControl(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::SessionControl', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::SessionControl'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SessionControl'

        def categories(self, current=None):
            """
            Access the object that manages the allowable categories
            for object identities for this session.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'categories' not implemented")

        def adapterIds(self, current=None):
            """
            Access the object that manages the allowable adapter identities
            for objects for this session.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'adapterIds' not implemented")

        def identities(self, current=None):
            """
            Access the object that manages the allowable object identities
            for this session.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'identities' not implemented")

        def getSessionTimeout(self, current=None):
            """
            Get the session timeout.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'getSessionTimeout' not implemented")

        def destroy(self, current=None):
            """
            Destroy the associated session.
            Arguments:
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            """
            raise NotImplementedError("servant method 'destroy' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_SessionControlDisp)

        __repr__ = __str__

    _M_Glacier2._t_SessionControlDisp = IcePy.defineClass('::Glacier2::SessionControl', SessionControl, (), None, ())
    SessionControl._ice_type = _M_Glacier2._t_SessionControlDisp

    SessionControl._op_categories = IcePy.Operation('categories', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, None, (), (), (), ((), _M_Glacier2._t_StringSetPrx, False, 0), ())
    SessionControl._op_adapterIds = IcePy.Operation('adapterIds', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, None, (), (), (), ((), _M_Glacier2._t_StringSetPrx, False, 0), ())
    SessionControl._op_identities = IcePy.Operation('identities', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, None, (), (), (), ((), _M_Glacier2._t_IdentitySetPrx, False, 0), ())
    SessionControl._op_getSessionTimeout = IcePy.Operation('getSessionTimeout', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, None, (), (), (), ((), IcePy._t_int, False, 0), ())
    SessionControl._op_destroy = IcePy.Operation('destroy', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, None, (), (), (), None, ())

    _M_Glacier2.SessionControl = SessionControl
    del SessionControl

_M_Glacier2._t_SessionManager = IcePy.defineValue('::Glacier2::SessionManager', Ice.Value, -1, (), False, True, None, ())

if 'SessionManagerPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.SessionManagerPrx = Ice.createTempClass()
    class SessionManagerPrx(Ice.ObjectPrx):

        """
        Create a new session.
        Arguments:
        userId -- The user id for the session.
        control -- A proxy to the session control object.
        context -- The request context for the invocation.
        Returns: A proxy to the newly created session.
        Throws:
        CannotCreateSessionException -- Raised if the session cannot be created.
        """
        def create(self, userId, control, context=None):
            return _M_Glacier2.SessionManager._op_create.invoke(self, ((userId, control), context))

        """
        Create a new session.
        Arguments:
        userId -- The user id for the session.
        control -- A proxy to the session control object.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def createAsync(self, userId, control, context=None):
            return _M_Glacier2.SessionManager._op_create.invokeAsync(self, ((userId, control), context))

        """
        Create a new session.
        Arguments:
        userId -- The user id for the session.
        control -- A proxy to the session control object.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_create(self, userId, control, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SessionManager._op_create.begin(self, ((userId, control), _response, _ex, _sent, context))

        """
        Create a new session.
        Arguments:
        userId -- The user id for the session.
        control -- A proxy to the session control object.
        Returns: A proxy to the newly created session.
        Throws:
        CannotCreateSessionException -- Raised if the session cannot be created.
        """
        def end_create(self, _r):
            return _M_Glacier2.SessionManager._op_create.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.SessionManagerPrx.ice_checkedCast(proxy, '::Glacier2::SessionManager', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.SessionManagerPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SessionManager'
    _M_Glacier2._t_SessionManagerPrx = IcePy.defineProxy('::Glacier2::SessionManager', SessionManagerPrx)

    _M_Glacier2.SessionManagerPrx = SessionManagerPrx
    del SessionManagerPrx

    _M_Glacier2.SessionManager = Ice.createTempClass()
    class SessionManager(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::SessionManager', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::SessionManager'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SessionManager'

        def create(self, userId, control, current=None):
            """
            Create a new session.
            Arguments:
            userId -- The user id for the session.
            control -- A proxy to the session control object.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            Throws:
            CannotCreateSessionException -- Raised if the session cannot be created.
            """
            raise NotImplementedError("servant method 'create' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_SessionManagerDisp)

        __repr__ = __str__

    _M_Glacier2._t_SessionManagerDisp = IcePy.defineClass('::Glacier2::SessionManager', SessionManager, (), None, ())
    SessionManager._ice_type = _M_Glacier2._t_SessionManagerDisp

    SessionManager._op_create = IcePy.Operation('create', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, Ice.FormatType.SlicedFormat, (), (((), IcePy._t_string, False, 0), ((), _M_Glacier2._t_SessionControlPrx, False, 0)), (), ((), _M_Glacier2._t_SessionPrx, False, 0), (_M_Glacier2._t_CannotCreateSessionException,))

    _M_Glacier2.SessionManager = SessionManager
    del SessionManager

_M_Glacier2._t_SSLSessionManager = IcePy.defineValue('::Glacier2::SSLSessionManager', Ice.Value, -1, (), False, True, None, ())

if 'SSLSessionManagerPrx' not in _M_Glacier2.__dict__:
    _M_Glacier2.SSLSessionManagerPrx = Ice.createTempClass()
    class SSLSessionManagerPrx(Ice.ObjectPrx):

        """
        Create a new session.
        Arguments:
        info -- The SSL info.
        control -- A proxy to the session control object.
        context -- The request context for the invocation.
        Returns: A proxy to the newly created session.
        Throws:
        CannotCreateSessionException -- Raised if the session cannot be created.
        """
        def create(self, info, control, context=None):
            return _M_Glacier2.SSLSessionManager._op_create.invoke(self, ((info, control), context))

        """
        Create a new session.
        Arguments:
        info -- The SSL info.
        control -- A proxy to the session control object.
        context -- The request context for the invocation.
        Returns: A future object for the invocation.
        """
        def createAsync(self, info, control, context=None):
            return _M_Glacier2.SSLSessionManager._op_create.invokeAsync(self, ((info, control), context))

        """
        Create a new session.
        Arguments:
        info -- The SSL info.
        control -- A proxy to the session control object.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        context -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_create(self, info, control, _response=None, _ex=None, _sent=None, context=None):
            return _M_Glacier2.SSLSessionManager._op_create.begin(self, ((info, control), _response, _ex, _sent, context))

        """
        Create a new session.
        Arguments:
        info -- The SSL info.
        control -- A proxy to the session control object.
        Returns: A proxy to the newly created session.
        Throws:
        CannotCreateSessionException -- Raised if the session cannot be created.
        """
        def end_create(self, _r):
            return _M_Glacier2.SSLSessionManager._op_create.end(self, _r)

        @staticmethod
        def checkedCast(proxy, facetOrContext=None, context=None):
            return _M_Glacier2.SSLSessionManagerPrx.ice_checkedCast(proxy, '::Glacier2::SSLSessionManager', facetOrContext, context)

        @staticmethod
        def uncheckedCast(proxy, facet=None):
            return _M_Glacier2.SSLSessionManagerPrx.ice_uncheckedCast(proxy, facet)

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SSLSessionManager'
    _M_Glacier2._t_SSLSessionManagerPrx = IcePy.defineProxy('::Glacier2::SSLSessionManager', SSLSessionManagerPrx)

    _M_Glacier2.SSLSessionManagerPrx = SSLSessionManagerPrx
    del SSLSessionManagerPrx

    _M_Glacier2.SSLSessionManager = Ice.createTempClass()
    class SSLSessionManager(Ice.Object):

        def ice_ids(self, current=None):
            return ('::Glacier2::SSLSessionManager', '::Ice::Object')

        def ice_id(self, current=None):
            return '::Glacier2::SSLSessionManager'

        @staticmethod
        def ice_staticId():
            return '::Glacier2::SSLSessionManager'

        def create(self, info, control, current=None):
            """
            Create a new session.
            Arguments:
            info -- The SSL info.
            control -- A proxy to the session control object.
            current -- The Current object for the invocation.
            Returns: A future object for the invocation.
            Throws:
            CannotCreateSessionException -- Raised if the session cannot be created.
            """
            raise NotImplementedError("servant method 'create' not implemented")

        def __str__(self):
            return IcePy.stringify(self, _M_Glacier2._t_SSLSessionManagerDisp)

        __repr__ = __str__

    _M_Glacier2._t_SSLSessionManagerDisp = IcePy.defineClass('::Glacier2::SSLSessionManager', SSLSessionManager, (), None, ())
    SSLSessionManager._ice_type = _M_Glacier2._t_SSLSessionManagerDisp

    SSLSessionManager._op_create = IcePy.Operation('create', Ice.OperationMode.Normal, Ice.OperationMode.Normal, False, Ice.FormatType.SlicedFormat, (), (((), _M_Glacier2._t_SSLInfo, False, 0), ((), _M_Glacier2._t_SessionControlPrx, False, 0)), (), ((), _M_Glacier2._t_SessionPrx, False, 0), (_M_Glacier2._t_CannotCreateSessionException,))

    _M_Glacier2.SSLSessionManager = SSLSessionManager
    del SSLSessionManager

# End of module Glacier2

Ice.sliceChecksums["::Glacier2::CannotCreateSessionException"] = "f3cf2057ea305ed04671164dfaeb6d95"
Ice.sliceChecksums["::Glacier2::IdentitySet"] = "622e43adfd1f535abaee1b089583847"
Ice.sliceChecksums["::Glacier2::SSLSessionManager"] = "4eb77cf437452f5296bf24dda4967d"
Ice.sliceChecksums["::Glacier2::Session"] = "8e47590dc18dd2a2e2e7749c941fc7"
Ice.sliceChecksums["::Glacier2::SessionControl"] = "83a11c547492ddc72db70659938222"
Ice.sliceChecksums["::Glacier2::SessionManager"] = "f3c67f2f29415754c0f1ccc1ab5558e"
Ice.sliceChecksums["::Glacier2::StringSet"] = "1b46953cdce5ef8b6fe92056adf3fda0"
