# **********************************************************************
#
# Copyright (c) 2003-2010 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.4.1

# <auto-generated>
#
# Generated from file `Query.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>

import Ice, IcePy, __builtin__
import Ice_Identity_ice
import Ice_BuiltinSequences_ice
import IceGrid_Exception_ice

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

# Included module IceGrid
_M_IceGrid = Ice.openModule('IceGrid')

# Start of module IceGrid
__name__ = 'IceGrid'
_M_IceGrid.__doc__ = '''IceGrid is a server activation and deployment tool. IceGrid,
simplifies the complex task of deploying applications in a
heterogeneous computer network.'''

if not _M_IceGrid.__dict__.has_key('LoadSample'):
    _M_IceGrid.LoadSample = Ice.createTempClass()
    class LoadSample(object):
        '''Determines which load sampling interval to use.'''

        def __init__(self, val):
            assert(val >= 0 and val < 3)
            self.value = val

        def __str__(self):
            return self._names[self.value]

        __repr__ = __str__

        def __hash__(self):
            return self.value

        def __lt__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value < other.value;
            elif other == None:
                return False
            return NotImplemented

        def __le__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value <= other.value;
            elif other == None:
                return False
            return NotImplemented

        def __eq__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value == other.value;
            elif other == None:
                return False
            return NotImplemented

        def __ne__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value != other.value;
            elif other == None:
                return False
            return NotImplemented

        def __gt__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value > other.value;
            elif other == None:
                return False
            return NotImplemented

        def __ge__(self, other):
            if isinstance(other, _M_IceGrid.LoadSample):
                return self.value >= other.value;
            elif other == None:
                return False
            return NotImplemented

        _names = ('LoadSample1', 'LoadSample5', 'LoadSample15')

    LoadSample.LoadSample1 = LoadSample(0)
    LoadSample.LoadSample5 = LoadSample(1)
    LoadSample.LoadSample15 = LoadSample(2)

    _M_IceGrid._t_LoadSample = IcePy.defineEnum('::IceGrid::LoadSample', LoadSample, (), (LoadSample.LoadSample1, LoadSample.LoadSample5, LoadSample.LoadSample15))

    _M_IceGrid.LoadSample = LoadSample
    del LoadSample

if not _M_IceGrid.__dict__.has_key('Query'):
    _M_IceGrid.Query = Ice.createTempClass()
    class Query(Ice.Object):
        '''The IceGrid query interface. This interface is accessible to
Ice clients who wish to look up well-known objects.'''
        def __init__(self):
            if __builtin__.type(self) == _M_IceGrid.Query:
                raise RuntimeError('IceGrid.Query is an abstract class')

        def ice_ids(self, current=None):
            return ('::Ice::Object', '::IceGrid::Query')

        def ice_id(self, current=None):
            return '::IceGrid::Query'

        def ice_staticId():
            return '::IceGrid::Query'
        ice_staticId = staticmethod(ice_staticId)

        def findObjectById(self, id, current=None):
            '''Find a well-known object by identity.

Arguments:
    id The identity.

Returns:
    The proxy or null if no such object has been found.'''
            pass

        def findObjectByType(self, type, current=None):
            '''Find a well-known object by type. If there are several objects
registered for the given type, the object is randomly
selected.

Arguments:
    type The object type.

Returns:
    The proxy or null, if no such object has been found.'''
            pass

        def findObjectByTypeOnLeastLoadedNode(self, type, sample, current=None):
            '''Find a well-known object by type on the least-loaded node. If
the registry does not know which node hosts the object
(for example, because the object was registered with a direct proxy), the
registry assumes the object is hosted on a node that has a load
average of 1.0.

Arguments:
    type The object type.

    sample The sampling interval.

Returns:
    The proxy or null, if no such object has been found.'''
            pass

        def findAllObjectsByType(self, type, current=None):
            '''Find all the well-known objects with the given type.

Arguments:
    type The object type.

Returns:
    The proxies or an empty sequence, if no such objects
have been found.'''
            pass

        def findAllReplicas(self, proxy, current=None):
            '''Find all the object replicas associated with the given
proxy. If the given proxy is not an indirect proxy from a
replica group, an empty sequence is returned.

Arguments:
    proxy The object proxy.

Returns:
    The proxies of each object replica or an empty sequence,
if the given proxy is not from a replica group.'''
            pass

        def __str__(self):
            return IcePy.stringify(self, _M_IceGrid._t_Query)

        __repr__ = __str__

    _M_IceGrid.QueryPrx = Ice.createTempClass()
    class QueryPrx(Ice.ObjectPrx):

        '''Find a well-known object by identity.

Arguments:
    id The identity.

Returns:
    The proxy or null if no such object has been found.'''
        def findObjectById(self, id, _ctx=None):
            return _M_IceGrid.Query._op_findObjectById.invoke(self, ((id, ), _ctx))

        '''Find a well-known object by identity.

Arguments:
    id The identity.

Returns:
    The proxy or null if no such object has been found.'''
        def begin_findObjectById(self, id, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_IceGrid.Query._op_findObjectById.begin(self, ((id, ), _response, _ex, _sent, _ctx))

        '''Find a well-known object by identity.

Arguments:
    id The identity.

Returns:
    The proxy or null if no such object has been found.'''
        def end_findObjectById(self, _r):
            return _M_IceGrid.Query._op_findObjectById.end(self, _r)

        '''Find a well-known object by identity.

Arguments:
    id The identity.

Returns:
    The proxy or null if no such object has been found.'''
        def findObjectById_async(self, _cb, id, _ctx=None):
            return _M_IceGrid.Query._op_findObjectById.invokeAsync(self, (_cb, (id, ), _ctx))

        '''Find a well-known object by type. If there are several objects
registered for the given type, the object is randomly
selected.

Arguments:
    type The object type.

Returns:
    The proxy or null, if no such object has been found.'''
        def findObjectByType(self, type, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByType.invoke(self, ((type, ), _ctx))

        '''Find a well-known object by type. If there are several objects
registered for the given type, the object is randomly
selected.

Arguments:
    type The object type.

Returns:
    The proxy or null, if no such object has been found.'''
        def begin_findObjectByType(self, type, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByType.begin(self, ((type, ), _response, _ex, _sent, _ctx))

        '''Find a well-known object by type. If there are several objects
registered for the given type, the object is randomly
selected.

Arguments:
    type The object type.

Returns:
    The proxy or null, if no such object has been found.'''
        def end_findObjectByType(self, _r):
            return _M_IceGrid.Query._op_findObjectByType.end(self, _r)

        '''Find a well-known object by type. If there are several objects
registered for the given type, the object is randomly
selected.

Arguments:
    type The object type.

Returns:
    The proxy or null, if no such object has been found.'''
        def findObjectByType_async(self, _cb, type, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByType.invokeAsync(self, (_cb, (type, ), _ctx))

        '''Find a well-known object by type on the least-loaded node. If
the registry does not know which node hosts the object
(for example, because the object was registered with a direct proxy), the
registry assumes the object is hosted on a node that has a load
average of 1.0.

Arguments:
    type The object type.

    sample The sampling interval.

Returns:
    The proxy or null, if no such object has been found.'''
        def findObjectByTypeOnLeastLoadedNode(self, type, sample, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByTypeOnLeastLoadedNode.invoke(self, ((type, sample), _ctx))

        '''Find a well-known object by type on the least-loaded node. If
the registry does not know which node hosts the object
(for example, because the object was registered with a direct proxy), the
registry assumes the object is hosted on a node that has a load
average of 1.0.

Arguments:
    type The object type.

    sample The sampling interval.

Returns:
    The proxy or null, if no such object has been found.'''
        def begin_findObjectByTypeOnLeastLoadedNode(self, type, sample, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByTypeOnLeastLoadedNode.begin(self, ((type, sample), _response, _ex, _sent, _ctx))

        '''Find a well-known object by type on the least-loaded node. If
the registry does not know which node hosts the object
(for example, because the object was registered with a direct proxy), the
registry assumes the object is hosted on a node that has a load
average of 1.0.

Arguments:
    type The object type.

    sample The sampling interval.

Returns:
    The proxy or null, if no such object has been found.'''
        def end_findObjectByTypeOnLeastLoadedNode(self, _r):
            return _M_IceGrid.Query._op_findObjectByTypeOnLeastLoadedNode.end(self, _r)

        '''Find a well-known object by type on the least-loaded node. If
the registry does not know which node hosts the object
(for example, because the object was registered with a direct proxy), the
registry assumes the object is hosted on a node that has a load
average of 1.0.

Arguments:
    type The object type.

    sample The sampling interval.

Returns:
    The proxy or null, if no such object has been found.'''
        def findObjectByTypeOnLeastLoadedNode_async(self, _cb, type, sample, _ctx=None):
            return _M_IceGrid.Query._op_findObjectByTypeOnLeastLoadedNode.invokeAsync(self, (_cb, (type, sample), _ctx))

        '''Find all the well-known objects with the given type.

Arguments:
    type The object type.

Returns:
    The proxies or an empty sequence, if no such objects
have been found.'''
        def findAllObjectsByType(self, type, _ctx=None):
            return _M_IceGrid.Query._op_findAllObjectsByType.invoke(self, ((type, ), _ctx))

        '''Find all the well-known objects with the given type.

Arguments:
    type The object type.

Returns:
    The proxies or an empty sequence, if no such objects
have been found.'''
        def begin_findAllObjectsByType(self, type, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_IceGrid.Query._op_findAllObjectsByType.begin(self, ((type, ), _response, _ex, _sent, _ctx))

        '''Find all the well-known objects with the given type.

Arguments:
    type The object type.

Returns:
    The proxies or an empty sequence, if no such objects
have been found.'''
        def end_findAllObjectsByType(self, _r):
            return _M_IceGrid.Query._op_findAllObjectsByType.end(self, _r)

        '''Find all the well-known objects with the given type.

Arguments:
    type The object type.

Returns:
    The proxies or an empty sequence, if no such objects
have been found.'''
        def findAllObjectsByType_async(self, _cb, type, _ctx=None):
            return _M_IceGrid.Query._op_findAllObjectsByType.invokeAsync(self, (_cb, (type, ), _ctx))

        '''Find all the object replicas associated with the given
proxy. If the given proxy is not an indirect proxy from a
replica group, an empty sequence is returned.

Arguments:
    proxy The object proxy.

Returns:
    The proxies of each object replica or an empty sequence,
if the given proxy is not from a replica group.'''
        def findAllReplicas(self, proxy, _ctx=None):
            return _M_IceGrid.Query._op_findAllReplicas.invoke(self, ((proxy, ), _ctx))

        '''Find all the object replicas associated with the given
proxy. If the given proxy is not an indirect proxy from a
replica group, an empty sequence is returned.

Arguments:
    proxy The object proxy.

Returns:
    The proxies of each object replica or an empty sequence,
if the given proxy is not from a replica group.'''
        def begin_findAllReplicas(self, proxy, _response=None, _ex=None, _sent=None, _ctx=None):
            return _M_IceGrid.Query._op_findAllReplicas.begin(self, ((proxy, ), _response, _ex, _sent, _ctx))

        '''Find all the object replicas associated with the given
proxy. If the given proxy is not an indirect proxy from a
replica group, an empty sequence is returned.

Arguments:
    proxy The object proxy.

Returns:
    The proxies of each object replica or an empty sequence,
if the given proxy is not from a replica group.'''
        def end_findAllReplicas(self, _r):
            return _M_IceGrid.Query._op_findAllReplicas.end(self, _r)

        '''Find all the object replicas associated with the given
proxy. If the given proxy is not an indirect proxy from a
replica group, an empty sequence is returned.

Arguments:
    proxy The object proxy.

Returns:
    The proxies of each object replica or an empty sequence,
if the given proxy is not from a replica group.'''
        def findAllReplicas_async(self, _cb, proxy, _ctx=None):
            return _M_IceGrid.Query._op_findAllReplicas.invokeAsync(self, (_cb, (proxy, ), _ctx))

        def checkedCast(proxy, facetOrCtx=None, _ctx=None):
            return _M_IceGrid.QueryPrx.ice_checkedCast(proxy, '::IceGrid::Query', facetOrCtx, _ctx)
        checkedCast = staticmethod(checkedCast)

        def uncheckedCast(proxy, facet=None):
            return _M_IceGrid.QueryPrx.ice_uncheckedCast(proxy, facet)
        uncheckedCast = staticmethod(uncheckedCast)

    _M_IceGrid._t_QueryPrx = IcePy.defineProxy('::IceGrid::Query', QueryPrx)

    _M_IceGrid._t_Query = IcePy.defineClass('::IceGrid::Query', Query, (), True, None, (), ())
    Query._ice_type = _M_IceGrid._t_Query

    Query._op_findObjectById = IcePy.Operation('findObjectById', Ice.OperationMode.Idempotent, Ice.OperationMode.Nonmutating, False, (), (((), _M_Ice._t_Identity),), (), IcePy._t_ObjectPrx, ())
    Query._op_findObjectByType = IcePy.Operation('findObjectByType', Ice.OperationMode.Idempotent, Ice.OperationMode.Nonmutating, False, (), (((), IcePy._t_string),), (), IcePy._t_ObjectPrx, ())
    Query._op_findObjectByTypeOnLeastLoadedNode = IcePy.Operation('findObjectByTypeOnLeastLoadedNode', Ice.OperationMode.Idempotent, Ice.OperationMode.Nonmutating, False, (), (((), IcePy._t_string), ((), _M_IceGrid._t_LoadSample)), (), IcePy._t_ObjectPrx, ())
    Query._op_findAllObjectsByType = IcePy.Operation('findAllObjectsByType', Ice.OperationMode.Idempotent, Ice.OperationMode.Nonmutating, False, (), (((), IcePy._t_string),), (), _M_Ice._t_ObjectProxySeq, ())
    Query._op_findAllReplicas = IcePy.Operation('findAllReplicas', Ice.OperationMode.Idempotent, Ice.OperationMode.Idempotent, False, (), (((), IcePy._t_ObjectPrx),), (), _M_Ice._t_ObjectProxySeq, ())

    _M_IceGrid.Query = Query
    del Query

    _M_IceGrid.QueryPrx = QueryPrx
    del QueryPrx

# End of module IceGrid

Ice.sliceChecksums["::IceGrid::LoadSample"] = "ec48c06fa099138a5fbbce121a9a290"
Ice.sliceChecksums["::IceGrid::Query"] = "39dbe5f62c19aa42c2e0fbaf220b4f1"
