blob: 4c29617b1c4babdfafb09e493078df89789b57b9 (
plain)
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
|
// **********************************************************************
//
// 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.
//
// **********************************************************************
#pragma once
[["ice-prefix", "cpp:header-ext:h", "objc:header-dir:objc"]]
#include <Ice/Locator.ice>
#ifndef __SLICE2JAVA_COMPAT__
[["java:package:com.zeroc"]]
#endif
/**
* IceLocatorDiscovery is an Ice plug-in that enables the discovery of IceGrid and custom locators via
* UDP multicast.
**/
module IceLocatorDiscovery
{
/**
*
* The Ice lookup reply interface must be implemented by clients which
* are searching for Ice locators. Ice locator implementations invoke
* on this interface to provide their locator proxy.
*
* @see Ice.Locator
* @see Lookup
*
**/
interface LookupReply
{
/**
*
* This method is called by the implementation of the Lookup
* interface to reply to a findLocator request.
*
* @param prx The proxy of the locator.
*
**/
void foundLocator(Ice::Locator* prx);
}
/**
*
* The Ice lookup interface is implemented by Ice locator
* implementations and can be used by clients to find available Ice
* locators on the network.
*
* Ice locator implementations provide a well-known `Ice/LocatorLookup'
* object accessible through UDP multicast. Clients typically make a
* multicast findLocator request to find the locator proxy.
*
* @see Ice.Locator
* @see LookupReply
*
**/
interface Lookup
{
/**
*
* Find a locator proxy with the given instance name.
*
* @param instanceName Restrict the search to Ice registries
* configured with the given instance name. If empty, all the
* available registries will reply.
*
* @param reply The reply object to use to send the reply.
*
**/
idempotent void findLocator(string instanceName, LookupReply* reply);
}
}
|