/usr/share/Ice-3.5.1/slice/IceGrid/Query.ice is in ice35-slice 3.5.1-6.4ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | // **********************************************************************
//
// Copyright (c) 2003-2013 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.
//
// **********************************************************************
#pragma once
[["cpp:header-ext:h"]]
#include <Ice/Identity.ice>
#include <Ice/BuiltinSequences.ice>
#include <IceGrid/Exception.ice>
/**
*
* IceGrid is a server activation and deployment tool. IceGrid,
* simplifies the complex task of deploying applications in a
* heterogeneous computer network.
*
**/
module IceGrid
{
/**
*
* Determines which load sampling interval to use.
*
**/
enum LoadSample
{
/**
* Sample every minute.
**/
LoadSample1,
/**
* Sample every five minutes.
**/
LoadSample5,
/**
* Sample every fifteen minutes.
**/
LoadSample15
};
/**
*
* The IceGrid query interface. This interface is accessible to
* Ice clients who wish to look up well-known objects.
*
**/
interface Query
{
/**
*
* Find a well-known object by identity.
*
* @param id The identity.
*
* @return The proxy or null if no such object has been found.
*
**/
["nonmutating", "cpp:const"] idempotent Object* findObjectById(Ice::Identity id);
/**
*
* Find a well-known object by type. If there are several objects
* registered for the given type, the object is randomly
* selected.
*
* @param type The object type.
*
* @return The proxy or null, if no such object has been found.
*
**/
["nonmutating", "cpp:const"] idempotent Object* findObjectByType(string type);
/**
*
* 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.
*
* @param type The object type.
*
* @param sample The sampling interval.
*
* @return The proxy or null, if no such object has been found.
*
**/
["nonmutating", "cpp:const"] idempotent Object* findObjectByTypeOnLeastLoadedNode(string type, LoadSample sample);
/**
*
* Find all the well-known objects with the given type.
*
* @param type The object type.
*
* @return The proxies or an empty sequence, if no such objects
* have been found.
*
**/
["nonmutating", "cpp:const"] idempotent Ice::ObjectProxySeq findAllObjectsByType(string type);
/**
*
* 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.
*
* @param proxy The object proxy.
*
* @return The proxies of each object replica or an empty sequence,
* if the given proxy is not from a replica group.
*
**/
["cpp:const"] idempotent Ice::ObjectProxySeq findAllReplicas(Object* proxy);
};
};
|