# -*- coding: utf-8 -*-
# **********************************************************************
#
# Copyright (c) 2003-2017 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.6.4
#
# <auto-generated>
#
# Generated from file `ITypes.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>
#

from sys import version_info as _version_info_
import Ice, IcePy
import omero_ModelF_ice
import omero_ServicesF_ice
import omero_Collections_ice

# Included module omero
_M_omero = Ice.openModule('omero')

# Included module omero.model
_M_omero.model = Ice.openModule('omero.model')

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

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

# Included module omero.sys
_M_omero.sys = Ice.openModule('omero.sys')

# Included module omero.api
_M_omero.api = Ice.openModule('omero.api')

# Included module omero.grid
_M_omero.grid = Ice.openModule('omero.grid')

# Start of module omero
__name__ = 'omero'

# Start of module omero.api
__name__ = 'omero.api'

if 'ITypes' not in _M_omero.api.__dict__:
    _M_omero.api.ITypes = Ice.createTempClass()
    class ITypes(_M_omero.api.ServiceInterface):
        """
        Access to reflective type information. Also provides simplified
        access to special types like enumerations.
        """
        def __init__(self):
            if Ice.getType(self) == _M_omero.api.ITypes:
                raise RuntimeError('omero.api.ITypes is an abstract class')

        def ice_ids(self, current=None):
            return ('::Ice::Object', '::omero::api::ITypes', '::omero::api::ServiceInterface')

        def ice_id(self, current=None):
            return '::omero::api::ITypes'

        def ice_staticId():
            return '::omero::api::ITypes'
        ice_staticId = staticmethod(ice_staticId)

        def createEnumeration_async(self, _cb, newEnum, current=None):
            pass

        def getEnumeration_async(self, _cb, type, value, current=None):
            """
            Lookup an enumeration value. As with the get-methods of
            omero.api.IQuery queries returning no results
            will through an exception.
            Arguments:
            _cb -- The asynchronous callback object.
            type -- An enumeration class which should be searched.
            value -- The value for which an enumeration should be found.
            current -- The Current object for the invocation.
            Throws:
            ApiUsageException -- if ome.model.IEnum is not found.
            """
            pass

        def allEnumerations_async(self, _cb, type, current=None):
            pass

        def updateEnumeration_async(self, _cb, oldEnum, current=None):
            """
            Updates enumeration value specified by object.
            Arguments:
            _cb -- The asynchronous callback object.
            oldEnum -- An enumeration object which should be searched.
            current -- The Current object for the invocation.
            """
            pass

        def updateEnumerations_async(self, _cb, oldEnums, current=None):
            """
            Updates enumeration value specified by object.
            Arguments:
            _cb -- The asynchronous callback object.
            oldEnums -- An enumeration collection of objects which should be searched.
            current -- The Current object for the invocation.
            """
            pass

        def deleteEnumeration_async(self, _cb, oldEnum, current=None):
            """
            Deletes enumeration value specified by object.
            Arguments:
            _cb -- The asynchronous callback object.
            oldEnum -- An enumeration object which should be searched.
            current -- The Current object for the invocation.
            """
            pass

        def getEnumerationTypes_async(self, _cb, current=None):
            """
            Gets all metadata classes which are IEnum type.
            Arguments:
            _cb -- The asynchronous callback object.
            current -- The Current object for the invocation.
            Throws:
            RuntimeException -- if Class not found.
            """
            pass

        def getAnnotationTypes_async(self, _cb, current=None):
            """
            Returns a list of classes which implement
            ome.model.IAnnotated. These can
            be used in combination with omero.api.Search.
            Arguments:
            _cb -- The asynchronous callback object.
            current -- The Current object for the invocation.
            """
            pass

        def getEnumerationsWithEntries_async(self, _cb, current=None):
            """
            Gets all metadata classes which are IEnum type with
            contained objects.
            Arguments:
            _cb -- The asynchronous callback object.
            current -- The Current object for the invocation.
            Throws:
            RuntimeException -- if xml parsing failure.
            """
            pass

        def getOriginalEnumerations_async(self, _cb, current=None):
            """
            Gets all original values.
            Arguments:
            _cb -- The asynchronous callback object.
            current -- The Current object for the invocation.
            Throws:
            RuntimeException -- if xml parsing failure.
            """
            pass

        def resetEnumerations_async(self, _cb, enumClass, current=None):
            pass

        def __str__(self):
            return IcePy.stringify(self, _M_omero.api._t_ITypes)

        __repr__ = __str__

    _M_omero.api.ITypesPrx = Ice.createTempClass()
    class ITypesPrx(_M_omero.api.ServiceInterfacePrx):

        def createEnumeration(self, newEnum, _ctx=None):
            return _M_omero.api.ITypes._op_createEnumeration.invoke(self, ((newEnum, ), _ctx))

        def begin_createEnumeration(self, newEnum, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_createEnumeration.begin(self, ((newEnum, ), _response, _ex, _sent, _ctx))

        def end_createEnumeration(self, _r):
            return _M_omero.api.ITypes._op_createEnumeration.end(self, _r)

        """
        Lookup an enumeration value. As with the get-methods of
        omero.api.IQuery queries returning no results
        will through an exception.
        Arguments:
        type -- An enumeration class which should be searched.
        value -- The value for which an enumeration should be found.
        _ctx -- The request context for the invocation.
        Returns: A managed enumeration. Never null.
        Throws:
        ApiUsageException -- if ome.model.IEnum is not found.
        """
        def getEnumeration(self, type, value, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumeration.invoke(self, ((type, value), _ctx))

        """
        Lookup an enumeration value. As with the get-methods of
        omero.api.IQuery queries returning no results
        will through an exception.
        Arguments:
        type -- An enumeration class which should be searched.
        value -- The value for which an enumeration should be found.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getEnumeration(self, type, value, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumeration.begin(self, ((type, value), _response, _ex, _sent, _ctx))

        """
        Lookup an enumeration value. As with the get-methods of
        omero.api.IQuery queries returning no results
        will through an exception.
        Arguments:
        type -- An enumeration class which should be searched.
        value -- The value for which an enumeration should be found.
        Returns: A managed enumeration. Never null.
        Throws:
        ApiUsageException -- if ome.model.IEnum is not found.
        """
        def end_getEnumeration(self, _r):
            return _M_omero.api.ITypes._op_getEnumeration.end(self, _r)

        def allEnumerations(self, type, _ctx=None):
            return _M_omero.api.ITypes._op_allEnumerations.invoke(self, ((type, ), _ctx))

        def begin_allEnumerations(self, type, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_allEnumerations.begin(self, ((type, ), _response, _ex, _sent, _ctx))

        def end_allEnumerations(self, _r):
            return _M_omero.api.ITypes._op_allEnumerations.end(self, _r)

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        _ctx -- The request context for the invocation.
        Returns: A managed enumeration. Never null.
        """
        def updateEnumeration(self, oldEnum, _ctx=None):
            return _M_omero.api.ITypes._op_updateEnumeration.invoke(self, ((oldEnum, ), _ctx))

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_updateEnumeration(self, oldEnum, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_updateEnumeration.begin(self, ((oldEnum, ), _response, _ex, _sent, _ctx))

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        Returns: A managed enumeration. Never null.
        """
        def end_updateEnumeration(self, _r):
            return _M_omero.api.ITypes._op_updateEnumeration.end(self, _r)

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnums -- An enumeration collection of objects which should be searched.
        _ctx -- The request context for the invocation.
        """
        def updateEnumerations(self, oldEnums, _ctx=None):
            return _M_omero.api.ITypes._op_updateEnumerations.invoke(self, ((oldEnums, ), _ctx))

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnums -- An enumeration collection of objects which should be searched.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_updateEnumerations(self, oldEnums, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_updateEnumerations.begin(self, ((oldEnums, ), _response, _ex, _sent, _ctx))

        """
        Updates enumeration value specified by object.
        Arguments:
        oldEnums -- An enumeration collection of objects which should be searched.
        """
        def end_updateEnumerations(self, _r):
            return _M_omero.api.ITypes._op_updateEnumerations.end(self, _r)

        """
        Deletes enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        _ctx -- The request context for the invocation.
        """
        def deleteEnumeration(self, oldEnum, _ctx=None):
            return _M_omero.api.ITypes._op_deleteEnumeration.invoke(self, ((oldEnum, ), _ctx))

        """
        Deletes enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_deleteEnumeration(self, oldEnum, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_deleteEnumeration.begin(self, ((oldEnum, ), _response, _ex, _sent, _ctx))

        """
        Deletes enumeration value specified by object.
        Arguments:
        oldEnum -- An enumeration object which should be searched.
        """
        def end_deleteEnumeration(self, _r):
            return _M_omero.api.ITypes._op_deleteEnumeration.end(self, _r)

        """
        Gets all metadata classes which are IEnum type.
        Arguments:
        _ctx -- The request context for the invocation.
        Returns: set of classes that extend IEnum
        Throws:
        RuntimeException -- if Class not found.
        """
        def getEnumerationTypes(self, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumerationTypes.invoke(self, ((), _ctx))

        """
        Gets all metadata classes which are IEnum type.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getEnumerationTypes(self, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumerationTypes.begin(self, ((), _response, _ex, _sent, _ctx))

        """
        Gets all metadata classes which are IEnum type.
        Arguments:
        Returns: set of classes that extend IEnum
        Throws:
        RuntimeException -- if Class not found.
        """
        def end_getEnumerationTypes(self, _r):
            return _M_omero.api.ITypes._op_getEnumerationTypes.end(self, _r)

        """
        Returns a list of classes which implement
        ome.model.IAnnotated. These can
        be used in combination with omero.api.Search.
        Arguments:
        _ctx -- The request context for the invocation.
        Returns: a java.util.Set of ome.model.IAnnotated implementations
        """
        def getAnnotationTypes(self, _ctx=None):
            return _M_omero.api.ITypes._op_getAnnotationTypes.invoke(self, ((), _ctx))

        """
        Returns a list of classes which implement
        ome.model.IAnnotated. These can
        be used in combination with omero.api.Search.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getAnnotationTypes(self, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_getAnnotationTypes.begin(self, ((), _response, _ex, _sent, _ctx))

        """
        Returns a list of classes which implement
        ome.model.IAnnotated. These can
        be used in combination with omero.api.Search.
        Arguments:
        Returns: a java.util.Set of ome.model.IAnnotated implementations
        """
        def end_getAnnotationTypes(self, _r):
            return _M_omero.api.ITypes._op_getAnnotationTypes.end(self, _r)

        """
        Gets all metadata classes which are IEnum type with
        contained objects.
        Arguments:
        _ctx -- The request context for the invocation.
        Returns: map of classes that extend IEnum
        Throws:
        RuntimeException -- if xml parsing failure.
        """
        def getEnumerationsWithEntries(self, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumerationsWithEntries.invoke(self, ((), _ctx))

        """
        Gets all metadata classes which are IEnum type with
        contained objects.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getEnumerationsWithEntries(self, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_getEnumerationsWithEntries.begin(self, ((), _response, _ex, _sent, _ctx))

        """
        Gets all metadata classes which are IEnum type with
        contained objects.
        Arguments:
        Returns: map of classes that extend IEnum
        Throws:
        RuntimeException -- if xml parsing failure.
        """
        def end_getEnumerationsWithEntries(self, _r):
            return _M_omero.api.ITypes._op_getEnumerationsWithEntries.end(self, _r)

        """
        Gets all original values.
        Arguments:
        _ctx -- The request context for the invocation.
        Returns: A list of managed enumerations.
        Throws:
        RuntimeException -- if xml parsing failure.
        """
        def getOriginalEnumerations(self, _ctx=None):
            return _M_omero.api.ITypes._op_getOriginalEnumerations.invoke(self, ((), _ctx))

        """
        Gets all original values.
        Arguments:
        _response -- The asynchronous response callback.
        _ex -- The asynchronous exception callback.
        _sent -- The asynchronous sent callback.
        _ctx -- The request context for the invocation.
        Returns: An asynchronous result object for the invocation.
        """
        def begin_getOriginalEnumerations(self, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_getOriginalEnumerations.begin(self, ((), _response, _ex, _sent, _ctx))

        """
        Gets all original values.
        Arguments:
        Returns: A list of managed enumerations.
        Throws:
        RuntimeException -- if xml parsing failure.
        """
        def end_getOriginalEnumerations(self, _r):
            return _M_omero.api.ITypes._op_getOriginalEnumerations.end(self, _r)

        def resetEnumerations(self, enumClass, _ctx=None):
            return _M_omero.api.ITypes._op_resetEnumerations.invoke(self, ((enumClass, ), _ctx))

        def begin_resetEnumerations(self, enumClass, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_omero.api.ITypes._op_resetEnumerations.begin(self, ((enumClass, ), _response, _ex, _sent, _ctx))

        def end_resetEnumerations(self, _r):
            return _M_omero.api.ITypes._op_resetEnumerations.end(self, _r)

        def checkedCast(proxy, facetOrCtx=None, _ctx=None):
            return _M_omero.api.ITypesPrx.ice_checkedCast(proxy, '::omero::api::ITypes', facetOrCtx, _ctx)
        checkedCast = staticmethod(checkedCast)

        def uncheckedCast(proxy, facet=None):
            return _M_omero.api.ITypesPrx.ice_uncheckedCast(proxy, facet)
        uncheckedCast = staticmethod(uncheckedCast)

        def ice_staticId():
            return '::omero::api::ITypes'
        ice_staticId = staticmethod(ice_staticId)

    _M_omero.api._t_ITypesPrx = IcePy.defineProxy('::omero::api::ITypes', ITypesPrx)

    _M_omero.api._t_ITypes = IcePy.defineClass('::omero::api::ITypes', ITypes, -1, (), True, False, None, (_M_omero.api._t_ServiceInterface,), ())
    ITypes._ice_type = _M_omero.api._t_ITypes

    ITypes._op_createEnumeration = IcePy.Operation('createEnumeration', Ice.OperationMode.Normal, Ice.OperationMode.Normal, True, None, (), (((), _M_omero.model._t_IObject, False, 0),), (), ((), _M_omero.model._t_IObject, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_getEnumeration = IcePy.Operation('getEnumeration', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (((), IcePy._t_string, False, 0), ((), IcePy._t_string, False, 0)), (), ((), _M_omero.model._t_IObject, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_allEnumerations = IcePy.Operation('allEnumerations', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (((), IcePy._t_string, False, 0),), (), ((), _M_omero.api._t_IObjectList, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_updateEnumeration = IcePy.Operation('updateEnumeration', Ice.OperationMode.Normal, Ice.OperationMode.Normal, True, None, (), (((), _M_omero.model._t_IObject, False, 0),), (), ((), _M_omero.model._t_IObject, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_updateEnumerations = IcePy.Operation('updateEnumerations', Ice.OperationMode.Normal, Ice.OperationMode.Normal, True, None, (), (((), _M_omero.api._t_IObjectList, False, 0),), (), None, (_M_omero._t_ServerError,))
    ITypes._op_deleteEnumeration = IcePy.Operation('deleteEnumeration', Ice.OperationMode.Normal, Ice.OperationMode.Normal, True, None, (), (((), _M_omero.model._t_IObject, False, 0),), (), None, (_M_omero._t_ServerError,))
    ITypes._op_getEnumerationTypes = IcePy.Operation('getEnumerationTypes', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (), (), ((), _M_omero.api._t_StringSet, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_getAnnotationTypes = IcePy.Operation('getAnnotationTypes', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (), (), ((), _M_omero.api._t_StringSet, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_getEnumerationsWithEntries = IcePy.Operation('getEnumerationsWithEntries', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (), (), ((), _M_omero.api._t_IObjectListMap, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_getOriginalEnumerations = IcePy.Operation('getOriginalEnumerations', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, True, None, (), (), (), ((), _M_omero.api._t_IObjectList, False, 0), (_M_omero._t_ServerError,))
    ITypes._op_resetEnumerations = IcePy.Operation('resetEnumerations', Ice.OperationMode.Normal, Ice.OperationMode.Normal, True, None, (), (((), IcePy._t_string, False, 0),), (), None, (_M_omero._t_ServerError,))

    _M_omero.api.ITypes = ITypes
    del ITypes

    _M_omero.api.ITypesPrx = ITypesPrx
    del ITypesPrx

# End of module omero.api

__name__ = 'omero'

# End of module omero
