diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-07-10 14:16:59 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-07-10 14:16:59 +0200 |
commit | 9962c1c90ddb9a0986bb98f84f2d97685203fce0 (patch) | |
tree | fef7973a98850f43f7118f65b8e8b8586286d987 | |
parent | Fix background test. (diff) | |
download | ice-9962c1c90ddb9a0986bb98f84f2d97685203fce0.tar.bz2 ice-9962c1c90ddb9a0986bb98f84f2d97685203fce0.tar.xz ice-9962c1c90ddb9a0986bb98f84f2d97685203fce0.zip |
ICE-4612: first cut of the IceGrid discovery plugin and APIs
64 files changed, 1661 insertions, 200 deletions
diff --git a/config/PropertyNames.xml b/config/PropertyNames.xml index f50ff305d7b..e8caff226da 100644 --- a/config/PropertyNames.xml +++ b/config/PropertyNames.xml @@ -415,6 +415,18 @@ generated from the section label. <property name="DomainId"/> </section> + <section name="IceGridDiscovery"> + <property name="Reply" class="objectadapter" /> + <property name="Locator" class="objectadapter" /> + <property name="Lookup"/> + <property name="Timeout"/> + <property name="RetryCount"/> + <property name="Address"/> + <property name="Port"/> + <property name="Interface"/> + <property name="InstanceName"/> + </section> + <section name="IceBox"> <property name="InheritProperties" /> <property name="InstanceName" /> @@ -436,6 +448,13 @@ generated from the section label. <property name="Username" /> <property name="Password" /> <property name="Replica" /> + <property name="Host" /> + <property name="Port" /> + <property name="InstanceName" /> + <property name="Discovery.Address" /> + <property name="Discovery.Interface" /> + <property name="Discovery.Lookup" /> + <property name="Discovery.Reply" class="objectadapter" /> <property name="Trace.Observers" /> <property name="Trace.SaveToRegistry" /> </section> @@ -472,6 +491,11 @@ generated from the section label. <property name="Registry.CryptPasswords" /> <property name="Registry.Data" /> <property name="Registry.DefaultTemplates" /> + <property name="Registry.Discovery" class="objectadapter" /> + <property name="Registry.Discovery.Enabled" /> + <property name="Registry.Discovery.Address" /> + <property name="Registry.Discovery.Port" /> + <property name="Registry.Discovery.Interface" /> <property name="Registry.DynamicRegistration" /> <property name="Registry.Internal" class="objectadapter" /> <property name="Registry.NodeSessionTimeout" /> diff --git a/cpp/demo/IceGrid/allocate/config.client b/cpp/demo/IceGrid/allocate/config.client index 144526d6035..b79723c77b9 100644 --- a/cpp/demo/IceGrid/allocate/config.client +++ b/cpp/demo/IceGrid/allocate/config.client @@ -2,3 +2,11 @@ # The IceGrid locator proxy. # Ice.Default.Locator=DemoIceGrid/Locator:default -t 30000 -h localhost -p 4061 + +# +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid diff --git a/cpp/demo/IceGrid/customLoadBalancing/config.client b/cpp/demo/IceGrid/customLoadBalancing/config.client index d2916d806c6..c3052ac6814 100644 --- a/cpp/demo/IceGrid/customLoadBalancing/config.client +++ b/cpp/demo/IceGrid/customLoadBalancing/config.client @@ -4,6 +4,14 @@ Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 4061 -t 30000 # +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid + +# # The `currency' context sent to the IceGrid locator. This context is # used by the replica group filter from the plugin to filter out # replicas. You can set the currency to one of the configured currency diff --git a/cpp/demo/IceGrid/icebox/config.client b/cpp/demo/IceGrid/icebox/config.client index 035e568c18a..9587857c00f 100644 --- a/cpp/demo/IceGrid/icebox/config.client +++ b/cpp/demo/IceGrid/icebox/config.client @@ -8,3 +8,11 @@ Hello.Proxy=hello # The IceGrid locator proxy. # Ice.Default.Locator=DemoIceGrid/Locator:default -t 30000 -h localhost -p 4061 + +# +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid diff --git a/cpp/demo/IceGrid/replication/config.client b/cpp/demo/IceGrid/replication/config.client index 71570ba9951..19e3de030b4 100644 --- a/cpp/demo/IceGrid/replication/config.client +++ b/cpp/demo/IceGrid/replication/config.client @@ -1,7 +1,15 @@ # # The IceGrid locator proxy. # -Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 12000:default -h localhost -p 12001:default -h localhost -p 12002 +Ice.Default.Locator=ReplicationDemoIceGrid/Locator:default -h localhost -p 12000:default -h localhost -p 12001:default -h localhost -p 12002 + +# +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=ReplicationDemoIceGrid Ice.Override.Timeout=10000 diff --git a/cpp/demo/IceGrid/replication/config.master b/cpp/demo/IceGrid/replication/config.master index c6e30104b1f..c5c33a9c153 100644 --- a/cpp/demo/IceGrid/replication/config.master +++ b/cpp/demo/IceGrid/replication/config.master @@ -1,7 +1,7 @@ # # The IceGrid instance name. # -IceGrid.InstanceName=DemoIceGrid +IceGrid.InstanceName=ReplicationDemoIceGrid # # IceGrid registry configuration. @@ -10,8 +10,8 @@ IceGrid.Registry.Client.Endpoints=default -h localhost -p 12000 -t 10000 IceGrid.Registry.Server.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Internal.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Data=db/master -IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier -IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.PermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.AdminPermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier Ice.StdErr=db/master/stderr.txt Ice.StdOut=db/master/stdout.txt diff --git a/cpp/demo/IceGrid/replication/config.node1 b/cpp/demo/IceGrid/replication/config.node1 index 3fe185fda80..42c70b30bca 100644 --- a/cpp/demo/IceGrid/replication/config.node1 +++ b/cpp/demo/IceGrid/replication/config.node1 @@ -1,7 +1,7 @@ # # The IceGrid locator proxy. # -Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000:default -h localhost -p 12002 -t 10000 +Ice.Default.Locator=ReplicationDemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000:default -h localhost -p 12002 -t 10000 # # IceGrid node configuration. diff --git a/cpp/demo/IceGrid/replication/config.node2 b/cpp/demo/IceGrid/replication/config.node2 index a9b9fa5df4d..a8def29fc15 100644 --- a/cpp/demo/IceGrid/replication/config.node2 +++ b/cpp/demo/IceGrid/replication/config.node2 @@ -1,7 +1,7 @@ # # The IceGrid locator proxy. # -Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000:default -h localhost -p 12002 -t 10000 +Ice.Default.Locator=ReplicationDemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000:default -h localhost -p 12002 -t 10000 # # IceGrid node configuration. diff --git a/cpp/demo/IceGrid/replication/config.replica1 b/cpp/demo/IceGrid/replication/config.replica1 index 3ef93a387a0..7d3d886061f 100644 --- a/cpp/demo/IceGrid/replication/config.replica1 +++ b/cpp/demo/IceGrid/replication/config.replica1 @@ -1,7 +1,7 @@ # # The IceGrid locator proxy. # -Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12002 -t 10000 +Ice.Default.Locator=ReplicationDemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12002 -t 10000 # # IceGrid registry configuration. @@ -11,8 +11,8 @@ IceGrid.Registry.Server.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Internal.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Data=db/replica1 IceGrid.Registry.ReplicaName=Replica1 -IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier -IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.PermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.AdminPermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier Ice.StdErr=db/replica1/stderr.txt Ice.StdOut=db/replica1/stdout.txt diff --git a/cpp/demo/IceGrid/replication/config.replica2 b/cpp/demo/IceGrid/replication/config.replica2 index 763e55f0797..11c1f03dd48 100644 --- a/cpp/demo/IceGrid/replication/config.replica2 +++ b/cpp/demo/IceGrid/replication/config.replica2 @@ -1,7 +1,7 @@ # # The IceGrid locator proxy. # -Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000 +Ice.Default.Locator=ReplicationDemoIceGrid/Locator:default -h localhost -p 12000 -t 10000:default -h localhost -p 12001 -t 10000 # # IceGrid registry configuration. @@ -11,8 +11,8 @@ IceGrid.Registry.Server.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Internal.Endpoints=default -h localhost -t 10000 IceGrid.Registry.Data=db/replica2 IceGrid.Registry.ReplicaName=Replica2 -IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier -IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.PermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.AdminPermissionsVerifier=ReplicationDemoIceGrid/NullPermissionsVerifier Ice.StdErr=db/replica2/stderr.txt Ice.StdOut=db/replica2/stdout.txt diff --git a/cpp/demo/IceGrid/secure/config.client b/cpp/demo/IceGrid/secure/config.client index c753bc613f6..03cfd282823 100644 --- a/cpp/demo/IceGrid/secure/config.client +++ b/cpp/demo/IceGrid/secure/config.client @@ -4,6 +4,14 @@ Ice.Default.Locator=DemoIceGrid/Locator:tcp -t 10000 -h localhost -p 4061:tcp -t 10000 -h localhost -p 14061 # +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid + +# # Trace properties. # #Ice.Trace.Network=1 diff --git a/cpp/demo/IceGrid/sessionActivation/config.client b/cpp/demo/IceGrid/sessionActivation/config.client index 144526d6035..b79723c77b9 100644 --- a/cpp/demo/IceGrid/sessionActivation/config.client +++ b/cpp/demo/IceGrid/sessionActivation/config.client @@ -2,3 +2,11 @@ # The IceGrid locator proxy. # Ice.Default.Locator=DemoIceGrid/Locator:default -t 30000 -h localhost -p 4061 + +# +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid diff --git a/cpp/demo/IceGrid/simple/.depend b/cpp/demo/IceGrid/simple/.depend index 40038b2aaee..72dc17bac33 100644 --- a/cpp/demo/IceGrid/simple/.depend +++ b/cpp/demo/IceGrid/simple/.depend @@ -1,4 +1,4 @@ -Hello$(OBJEXT): Hello.cpp Hello.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h +nfHello$(OBJEXT): Hello.cpp Hello.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h Client$(OBJEXT): Client.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/DeprecatedStringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/IceGrid/IceGrid.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/IceGrid/FileParser.h $(includedir)/IceGrid/Locator.h $(includedir)/IceGrid/Observer.h $(includedir)/IceGrid/Query.h $(includedir)/IceGrid/Registry.h $(includedir)/IceGrid/Session.h $(includedir)/IceGrid/UserAccountMapper.h $(includedir)/IceGrid/PluginFacade.h Hello.h HelloI$(OBJEXT): HelloI.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/DeprecatedStringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h HelloI.h Hello.h Server$(OBJEXT): Server.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/DeprecatedStringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h HelloI.h Hello.h diff --git a/cpp/demo/IceGrid/simple/config.client b/cpp/demo/IceGrid/simple/config.client index cfa8c577189..0af701e0ab7 100644 --- a/cpp/demo/IceGrid/simple/config.client +++ b/cpp/demo/IceGrid/simple/config.client @@ -2,3 +2,11 @@ # The IceGrid locator proxy. # Ice.Default.Locator=DemoIceGrid/Locator:default -h localhost -p 4061 -t 30000 + +# +# To use the IceGrid discovery plugin comment out the default locator +# property above and un-comment the two properties below. The discovery +# plugin uses multicast to discover IceGrid. +# +#Ice.Plugin.IceGridDiscovery=IceGrid:createIceGridDiscovery +#IceGridDiscovery.InstanceName=DemoIceGrid diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index d0a49de66b1..04271017221 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -130,6 +130,7 @@ namespace IceInternal // to be used by modules such as Freeze. // ICE_API InstancePtr getInstance(const ::Ice::CommunicatorPtr&); +ICE_API IceUtil::TimerPtr getInstanceTimer(const ::Ice::CommunicatorPtr&); } diff --git a/cpp/include/IceGrid/.gitignore b/cpp/include/IceGrid/.gitignore index f0d1242a431..195635b503d 100644 --- a/cpp/include/IceGrid/.gitignore +++ b/cpp/include/IceGrid/.gitignore @@ -2,6 +2,7 @@ // IMPORTANT: Do not edit this file -- any edits made here will be lost! Admin.h +Discovery.h Exception.h FileParser.h Locator.h diff --git a/cpp/include/IceGrid/IceGrid.h b/cpp/include/IceGrid/IceGrid.h index 2db135ddab5..b02f9f2b74b 100644 --- a/cpp/include/IceGrid/IceGrid.h +++ b/cpp/include/IceGrid/IceGrid.h @@ -21,6 +21,7 @@ #include <IceGrid/Session.h> #include <IceGrid/UserAccountMapper.h> #include <IceGrid/PluginFacade.h> +#include <IceGrid/Discovery.h> namespace IceGrid { diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h index df7b8ecc158..8aef1ed13fa 100644 --- a/cpp/src/Ice/CommunicatorI.h +++ b/cpp/src/Ice/CommunicatorI.h @@ -96,6 +96,7 @@ private: friend ICE_API CommunicatorPtr initialize(StringSeq&, const InitializationData&, Int); friend ICE_API CommunicatorPtr initialize(const InitializationData&, Int); friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&); + friend ICE_API ::IceUtil::TimerPtr IceInternal::getInstanceTimer(const ::Ice::CommunicatorPtr&); AsyncResultPtr __begin_flushBatchRequests(const IceInternal::CallbackBasePtr&, const LocalObjectPtr&); diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index 5702d76c51d..f4279f7812d 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -359,6 +359,14 @@ IceInternal::getInstance(const CommunicatorPtr& communicator) return p->_instance; } +IceUtil::TimerPtr +IceInternal::getInstanceTimer(const CommunicatorPtr& communicator) +{ + CommunicatorI* p = dynamic_cast<CommunicatorI*>(communicator.get()); + assert(p); + return p->_instance->timer(); +} + #ifdef ICE_CPP11 void IceInternal::Cpp11Dispatcher::dispatch(const ::Ice::DispatcherCallPtr& call, const ::Ice::ConnectionPtr& conn) diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index ed798943b30..dbf3d5183e4 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -1256,7 +1256,7 @@ ObjectAdapterI::parsePublishedEndpoints() } } - if(_instance->traceLevels()->network >= 1) + if(_instance->traceLevels()->network >= 1 && !endpoints.empty()) { Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); out << "published endpoints for object adapter `" << getName() << "':\n"; diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index c173ecfaa82..acadc7fb151 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -6,7 +6,7 @@ // ICE_LICENSE file included in this distribution. // // ********************************************************************** -// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Jun 5 21:19:31 2014 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Wed Jul 9 18:08:33 2014 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -319,6 +319,93 @@ const IceInternal::PropertyArray IceInternal::PropertyNames::IceDiscoveryProps(IceDiscoveryPropsData, sizeof(IceDiscoveryPropsData)/sizeof(IceDiscoveryPropsData[0])); +const IceInternal::Property IceGridDiscoveryPropsData[] = +{ + IceInternal::Property("IceGridDiscovery.Reply.ACM.Timeout", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ACM.Heartbeat", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ACM.Close", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ACM", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.AdapterId", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Endpoints", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.InvocationTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.CollocationOptimized", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator.Context.*", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.PublishedEndpoints", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ReplicaGroupId", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.PreferSecure", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.InvocationTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.CollocationOptimized", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router.Context.*", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ProxyOptions", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.Size", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.SizeMax", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.SizeWarn", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.StackSize", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.Serialize", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.ThreadIdleTime", false, 0), + IceInternal::Property("IceGridDiscovery.Reply.ThreadPool.ThreadPriority", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ACM.Timeout", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ACM.Heartbeat", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ACM.Close", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ACM", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.AdapterId", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Endpoints", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.InvocationTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.CollocationOptimized", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator.Context.*", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.PublishedEndpoints", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ReplicaGroupId", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.PreferSecure", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.InvocationTimeout", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.Locator", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.CollocationOptimized", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router.Context.*", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.Router", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ProxyOptions", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.Size", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.SizeMax", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.SizeWarn", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.StackSize", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.Serialize", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.ThreadIdleTime", false, 0), + IceInternal::Property("IceGridDiscovery.Locator.ThreadPool.ThreadPriority", false, 0), + IceInternal::Property("IceGridDiscovery.Lookup", false, 0), + IceInternal::Property("IceGridDiscovery.Timeout", false, 0), + IceInternal::Property("IceGridDiscovery.RetryCount", false, 0), + IceInternal::Property("IceGridDiscovery.Address", false, 0), + IceInternal::Property("IceGridDiscovery.Port", false, 0), + IceInternal::Property("IceGridDiscovery.Interface", false, 0), + IceInternal::Property("IceGridDiscovery.InstanceName", false, 0), +}; + +const IceInternal::PropertyArray + IceInternal::PropertyNames::IceGridDiscoveryProps(IceGridDiscoveryPropsData, + sizeof(IceGridDiscoveryPropsData)/sizeof(IceGridDiscoveryPropsData[0])); + const IceInternal::Property IceBoxPropsData[] = { IceInternal::Property("IceBox.InheritProperties", false, 0), @@ -395,6 +482,48 @@ const IceInternal::Property IceGridAdminPropsData[] = IceInternal::Property("IceGridAdmin.Username", false, 0), IceInternal::Property("IceGridAdmin.Password", false, 0), IceInternal::Property("IceGridAdmin.Replica", false, 0), + IceInternal::Property("IceGridAdmin.Host", false, 0), + IceInternal::Property("IceGridAdmin.Port", false, 0), + IceInternal::Property("IceGridAdmin.InstanceName", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Address", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Interface", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Lookup", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ACM.Timeout", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ACM.Heartbeat", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ACM.Close", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ACM", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.AdapterId", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Endpoints", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.InvocationTimeout", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.Locator", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.Router", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.CollocationOptimized", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator.Context.*", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Locator", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.PublishedEndpoints", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ReplicaGroupId", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.PreferSecure", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.InvocationTimeout", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.Locator", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.Router", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.CollocationOptimized", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router.Context.*", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.Router", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ProxyOptions", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.Size", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.SizeMax", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.SizeWarn", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.StackSize", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.Serialize", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.ThreadIdleTime", false, 0), + IceInternal::Property("IceGridAdmin.Discovery.Reply.ThreadPool.ThreadPriority", false, 0), IceInternal::Property("IceGridAdmin.Trace.Observers", false, 0), IceInternal::Property("IceGridAdmin.Trace.SaveToRegistry", false, 0), }; @@ -603,6 +732,46 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.CryptPasswords", false, 0), IceInternal::Property("IceGrid.Registry.Data", false, 0), IceInternal::Property("IceGrid.Registry.DefaultTemplates", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ACM.Timeout", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ACM.Heartbeat", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ACM.Close", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ACM", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.AdapterId", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.InvocationTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.CollocationOptimized", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator.Context.*", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.PublishedEndpoints", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.InvocationTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.CollocationOptimized", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router.Context.*", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ProxyOptions", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.Size", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.SizeMax", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.SizeWarn", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.StackSize", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.Serialize", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.ThreadIdleTime", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.ThreadPool.ThreadPriority", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Enabled", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Address", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Port", false, 0), + IceInternal::Property("IceGrid.Registry.Discovery.Interface", false, 0), IceInternal::Property("IceGrid.Registry.DynamicRegistration", false, 0), IceInternal::Property("IceGrid.Registry.Internal.ACM.Timeout", false, 0), IceInternal::Property("IceGrid.Registry.Internal.ACM.Heartbeat", false, 0), @@ -1073,6 +1242,7 @@ const IceInternal::PropertyArray IceInternal::PropertyNames::validProps[] = IceProps, IceMXProps, IceDiscoveryProps, + IceGridDiscoveryProps, IceBoxProps, IceBoxAdminProps, IceGridAdminProps, @@ -1092,6 +1262,7 @@ const char* IceInternal::PropertyNames::clPropNames[] = "Ice", "IceMX", "IceDiscovery", + "IceGridDiscovery", "IceBox", "IceBoxAdmin", "IceGridAdmin", diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index 8637fb4f1cd..7f413070df8 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -6,7 +6,7 @@ // ICE_LICENSE file included in this distribution. // // ********************************************************************** -// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Jun 5 21:19:31 2014 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Wed Jul 9 18:08:33 2014 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -59,6 +59,7 @@ public: static const PropertyArray IceProps; static const PropertyArray IceMXProps; static const PropertyArray IceDiscoveryProps; + static const PropertyArray IceGridDiscoveryProps; static const PropertyArray IceBoxProps; static const PropertyArray IceBoxAdminProps; static const PropertyArray IceGridAdminProps; diff --git a/cpp/src/IceDiscovery/LookupI.cpp b/cpp/src/IceDiscovery/LookupI.cpp index 9dd9aa4ce2f..f8ea6d8c486 100644 --- a/cpp/src/IceDiscovery/LookupI.cpp +++ b/cpp/src/IceDiscovery/LookupI.cpp @@ -11,6 +11,7 @@ #include <Ice/ObjectAdapter.h> #include <Ice/Communicator.h> #include <Ice/LocalException.h> +#include <Ice/Initialize.h> #include <IceDiscovery/LookupI.h> @@ -105,7 +106,7 @@ LookupI::LookupI(const LocatorRegistryIPtr& registry, const LookupPrx& lookup, c _retryCount(properties->getPropertyAsIntWithDefault("IceDiscovery.RetryCount", 3)), _latencyMultiplier(properties->getPropertyAsIntWithDefault("IceDiscovery.LatencyMultiplier", 1)), _domainId(properties->getProperty("IceDiscovery.DomainId")), - _timer(new IceUtil::Timer()) + _timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator())) { } diff --git a/cpp/src/IceDiscovery/PluginI.cpp b/cpp/src/IceDiscovery/PluginI.cpp index 01846fb7eab..88c2bb91ba5 100644 --- a/cpp/src/IceDiscovery/PluginI.cpp +++ b/cpp/src/IceDiscovery/PluginI.cpp @@ -130,7 +130,7 @@ PluginI::initialize() // Setup locator on the communicator. // Ice::ObjectPrx loc = _locatorAdapter->addWithUUID(new LocatorI(lookup, locatorRegistryPrx)); - _communicator->setDefaultLocator(Ice::LocatorPrx::uncheckedCast(_communicator->stringToProxy(loc->ice_toString()))); + _communicator->setDefaultLocator(Ice::LocatorPrx::uncheckedCast(loc)); _multicastAdapter->activate(); _replyAdapter->activate(); diff --git a/cpp/src/IceDiscovery/PluginI.h b/cpp/src/IceDiscovery/PluginI.h index 1517b982b37..a61659c3753 100644 --- a/cpp/src/IceDiscovery/PluginI.h +++ b/cpp/src/IceDiscovery/PluginI.h @@ -11,6 +11,7 @@ #define PLUGIN_I_H #include <Ice/Plugin.h> +#include <IceDiscovery/LookupI.h> namespace IceDiscovery { diff --git a/cpp/src/IceGrid/Client.cpp b/cpp/src/IceGrid/Client.cpp index ed91c31f728..191d5749a88 100644 --- a/cpp/src/IceGrid/Client.cpp +++ b/cpp/src/IceGrid/Client.cpp @@ -21,6 +21,7 @@ #include <IceGrid/FileParserI.h> #include <IceGrid/Registry.h> #include <IceGrid/Locator.h> +#include <IceGrid/Discovery.h> #include <Glacier2/Router.h> #include <fstream> @@ -63,6 +64,74 @@ public: Init init; +class LookupReplyI : public LookupReply, private IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + virtual void + foundLocator(const IceGrid::LocatorPrx& locator, const Ice::Current&) + { + Lock sync(*this); + for(vector<IceGrid::LocatorPrx>::iterator p = _locators.begin(); p != _locators.end(); ++p) + { + if((*p)->ice_getIdentity() == locator->ice_getIdentity()) + { + Ice::EndpointSeq newEndpoints = (*p)->ice_getEndpoints(); + Ice::EndpointSeq endpts = locator->ice_getEndpoints(); + for(Ice::EndpointSeq::const_iterator r = endpts.begin(); r != endpts.end(); ++r) + { + // + // Only add unknown endpoints + // + bool found = false; + for(Ice::EndpointSeq::const_iterator q = newEndpoints.begin(); q != newEndpoints.end(); ++q) + { + if(*r == *q) + { + found = true; + break; + } + } + if(!found) + { + newEndpoints.push_back(*r); + } + } + *p = (*p)->ice_endpoints(newEndpoints); + return; + } + } + _locators.push_back(locator); + notify(); + } + + vector<IceGrid::LocatorPrx> + getLocators() + { + Lock sync(*this); + return _locators; + } + + bool + waitForLocator() + { + Lock sync(*this); + while(_locators.empty()) + { + if(!timedWait(IceUtil::Time::milliSeconds(300))) + { + return false; + } + } + return true; + } + +private: + + vector<IceGrid::LocatorPrx> _locators; +}; +typedef IceUtil::Handle<LookupReplyI> LookupReplyIPtr; + } class SessionKeepAliveThread : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex> @@ -211,6 +280,9 @@ Client::usage() "-e COMMANDS Execute COMMANDS.\n" "-d, --debug Print debug messages.\n" "-s, --server Start icegridadmin as a server (to parse XML files).\n" + "-i, --instanceName Connect to the registry with the given instance name.\n" + "-H, --host Connect to the registry at the given host.\n" + "-P, --port Connect to the registry running on the given port.\n" "-u, --username Login with the given username.\n" "-p, --password Login with the given password.\n" "-S, --ssl Authenticate through SSL.\n" @@ -229,6 +301,7 @@ Client::main(StringSeq& args) _appName = args[0]; InitializationData id; id.properties = createProperties(args); + id.properties->setProperty("Ice.Warn.Endpoints", "0"); _communicator = initialize(id); { @@ -332,6 +405,9 @@ Client::run(StringSeq& originalArgs) opts.addOpt("h", "help"); opts.addOpt("v", "version"); opts.addOpt("e", "", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat); + opts.addOpt("i", "instanceName", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::NoRepeat); + opts.addOpt("H", "host", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::NoRepeat); + opts.addOpt("P", "port", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::NoRepeat); opts.addOpt("u", "username", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::NoRepeat); opts.addOpt("p", "password", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::NoRepeat); opts.addOpt("S", "ssl"); @@ -407,6 +483,29 @@ Client::run(StringSeq& originalArgs) password = opts.optArg("password"); } + string host = communicator()->getProperties()->getProperty("IceGridAdmin.Host"); + if(!opts.optArg("host").empty()) + { + host = opts.optArg("host"); + } + + string instanceName = communicator()->getProperties()->getProperty("IceGridAdmin.InstaceName"); + if(!opts.optArg("instanceName").empty()) + { + instanceName = opts.optArg("instanceName"); + } + + int port = communicator()->getProperties()->getPropertyAsInt("IceGridAdmin.Port"); + if(!opts.optArg("port").empty()) + { + istringstream is(opts.optArg("port")); + if(!(is >> port)) + { + cerr << _appName << ": given port number is not a numeric value" << endl; + return EXIT_FAILURE; + } + } + PropertiesPtr properties = communicator()->getProperties(); string replica = properties->getProperty("IceGridAdmin.Replica"); if(!opts.optArg("replica").empty()) @@ -422,6 +521,141 @@ Client::run(StringSeq& originalArgs) { int sessionTimeout; int acmTimeout = 0; + if(!communicator()->getDefaultLocator() && !communicator()->getDefaultRouter()) + { + if(!host.empty()) + { + const int timeout = 3000; // 3s connection timeout. + ostringstream os; + os << "IceGridDiscovery/Lookup" << (ssl ? " -s" : ""); + os << ":tcp -h \"" << host << "\" -p " << (port == 0 ? 4061 : port) << " -t " << timeout; + os << ":ssl -h \"" << host << "\" -p " << (port == 0 ? 4063 : port) << " -t " << timeout; + LookupPrx lookup = LookupPrx::uncheckedCast(communicator()->stringToProxy(os.str())); + try + { + communicator()->setDefaultLocator(lookup->getLocator()); + } + catch(const Ice::LocalException&) + { + // Ignore. + } + if(!instanceName.empty() && + communicator()->getDefaultLocator()->ice_getIdentity().category != instanceName) + { + cerr << _appName << ": registry running on `" << host << "' uses a different instance name:\n"; + cerr << communicator()->getDefaultLocator()->ice_getIdentity().category << endl; + return EXIT_FAILURE; + } + } + else + { + bool ipv4 = properties->getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0; + string address; + if(ipv4) + { + address = properties->getPropertyWithDefault("IceGridAdmin.Discovery.Address", "239.255.0.1"); + } + else + { + address = properties->getPropertyWithDefault("IceGridAdmin.Discovery.Address", "ff15::1"); + } + + string interface = properties->getProperty("IceGridAdmin.Discovery.Interface"); + + string lookupEndpoints = properties->getProperty("IceGridAdmin.Discovery.Lookup"); + if(lookupEndpoints.empty()) + { + ostringstream os; + os << "udp -h \"" << address << "\" -p " << (port == 0 ? 4061 : port); + if(!interface.empty()) + { + os << " --interface \"" << interface << "\""; + } + lookupEndpoints = os.str(); + } + + ObjectPrx prx = communicator()->stringToProxy("IceGridDiscovery/Lookup -d:" + lookupEndpoints); + LookupPrx lookupPrx = LookupPrx::uncheckedCast(prx->ice_collocationOptimized(false)); + + if(properties->getProperty("IceGridAdmin.Discovery.Reply.Endpoints").empty()) + { + ostringstream os; + os << "udp"; + if(!interface.empty()) + { + os << " -h \"" << interface << "\""; + } + properties->setProperty("IceGridAdmin.Discovery.Reply.Endpoints", os.str()); + } + + Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("IceGridAdmin.Discovery.Reply"); + adapter->activate(); + LookupReplyIPtr reply = new LookupReplyI(); + LookupReplyPrx replyPrx = LookupReplyPrx::uncheckedCast(adapter->addWithUUID(reply)->ice_datagram()); + int retryCount = 3; // Send several findLocator queries. + try + { + while(--retryCount >= 0) + { + lookupPrx->findLocator(instanceName, replyPrx); + if(instanceName.empty()) + { + IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(300)); + } + else if(reply->waitForLocator()) + { + break; + } + } + } + catch(const Ice::LocalException& ex) + { + cerr << _appName << ": registry discovery failed:\n" << ex << endl; + return EXIT_FAILURE; + } + adapter->destroy(); + + vector<IceGrid::LocatorPrx> locators = reply->getLocators(); + if(locators.size() > 1) + { + cout << "found " << locators.size() << " IceGrid locators:" << endl; + unsigned int num = 0; + for(vector<IceGrid::LocatorPrx>::const_iterator p = locators.begin(); p != locators.end(); ++p) + { + cout << ++num << ": proxy = `" << *p << "'" <<endl; + } + + num = 0; + while(num == 0 && cin.good()) + { + cout << "please enter the locator number to use: " << flush; + string line; + getline(cin, line); + if(!cin.good() || line.empty()) + { + return EXIT_FAILURE; + } + line = IceUtilInternal::trim(line); + + istringstream is(line); + is >> num; + if(num > locators.size()) + { + num = 0; + } + } + + assert(num <= locators.size()); + communicator()->setDefaultLocator(locators[num - 1]); + } + else if(locators.size() == 1) + { + cout << "using discovered locator:\nproxy = `" << locators[0] << "'" << endl; + communicator()->setDefaultLocator(locators[0]); + } + } + } + if(communicator()->getDefaultRouter()) { try @@ -476,11 +710,8 @@ Client::run(StringSeq& originalArgs) } session = AdminSessionPrx::uncheckedCast(router->createSession(id, password)); - // Zero the password string. - for(string::iterator p = password.begin(); p != password.end(); ++p) - { - *p = '\0'; - } + fill(password.begin(), password.end(), '\0'); // Zero the password string. + if(!session) { cerr << _appName @@ -631,11 +862,7 @@ Client::run(StringSeq& originalArgs) } session = registry->createAdminSession(id, password); - // Zero the password string. - for(string::iterator p = password.begin(); p != password.end(); ++p) - { - *p = '\0'; - } + fill(password.begin(), password.end(), '\0'); // Zero the password string. } sessionTimeout = registry->getSessionTimeout(); diff --git a/cpp/src/IceGrid/RegistryI.cpp b/cpp/src/IceGrid/RegistryI.cpp index f8ed91cee64..0892fd5a1f8 100644 --- a/cpp/src/IceGrid/RegistryI.cpp +++ b/cpp/src/IceGrid/RegistryI.cpp @@ -21,7 +21,7 @@ #include <IceGrid/TraceLevels.h> #include <IceGrid/Database.h> #include <IceGrid/ReapThread.h> - +#include <IceGrid/Discovery.h> #include <IceGrid/RegistryI.h> #include <IceGrid/LocatorI.h> #include <IceGrid/LocatorRegistryI.h> @@ -139,11 +139,46 @@ private: ObjectPtr _servant; }; +class LookupI : public IceGrid::Lookup +{ +public: + + LookupI(const std::string& instanceName, const WellKnownObjectsManagerPtr& wellKnownObjects) : + _instanceName(instanceName), _wellKnownObjects(wellKnownObjects) + { + } + + virtual void + findLocator(const string& instanceName, const LookupReplyPrx& reply, const Ice::Current&) + { + if(!instanceName.empty() && instanceName != _instanceName) + { + return; // Ignore. + } + + if(reply) + { + reply->begin_foundLocator(_wellKnownObjects->getLocator()); + } + } + + virtual IceGrid::LocatorPrx + getLocator(const Ice::Current&) + { + return _wellKnownObjects->getLocator(); + } + +private: + + const string _instanceName; + const WellKnownObjectsManagerPtr _wellKnownObjects; +}; + } -RegistryI::RegistryI(const CommunicatorPtr& communicator, - const TraceLevelsPtr& traceLevels, - bool nowarn, +RegistryI::RegistryI(const CommunicatorPtr& communicator, + const TraceLevelsPtr& traceLevels, + bool nowarn, bool readonly, const string& initFromReplica) : _communicator(communicator), @@ -550,10 +585,68 @@ RegistryI::startImpl() } // + // Setup the lookup servant and add it to the client adapter. + // + Ice::Identity id = _communicator->stringToIdentity("IceGridDiscovery/Lookup"); + Ice::ObjectPtr lookup = new LookupI(_instanceName, _wellKnownObjects); + _clientAdapter->add(lookup, id); + + // + // Setup the discovery object adapter and also add it the lookup + // servant to receive multicast lookup queries. + // + Ice::ObjectAdapterPtr discoveryAdapter; + if(properties->getPropertyAsIntWithDefault("IceGrid.Registry.Discovery.Enabled", 1) > 0) + { + bool ipv4 = properties->getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0; + string address; + if(ipv4) + { + address = properties->getPropertyWithDefault("IceGrid.Registry.Discovery.Address", "239.255.0.1"); + } + else + { + address = properties->getPropertyWithDefault("IceGrid.Registry.Discovery.Address", "ff15::1"); + } + int port = properties->getPropertyAsIntWithDefault("IceGrid.Registry.Discovery.Port", 4061); + string interface = properties->getProperty("IceGrid.Registry.Discovery.Interface"); + if(properties->getProperty("IceGrid.Registry.Discovery.Endpoints").empty()) + { + ostringstream os; + os << "udp -h \"" << address << "\" -p " << port; + if(!interface.empty()) + { + os << " --interface \"" << interface << "\""; + } + properties->setProperty("IceGrid.Registry.Discovery.Endpoints", os.str()); + } + + try + { + discoveryAdapter = _communicator->createObjectAdapter("IceGrid.Registry.Discovery"); + discoveryAdapter->add(lookup, id); + } + catch(const Ice::LocalException& ex) + { + if(!_nowarn) + { + Warning out(_communicator->getLogger()); + out << "failed to join the multicast group for IceGrid discovery:\n"; + out << "endpoints = " << properties->getProperty("IceGrid.Registry.Discovery.Endpoints") << "\n"; + out << ex; + } + } + } + + // // We are ready to go! // _serverAdapter->activate(); _clientAdapter->activate(); + if(discoveryAdapter) + { + discoveryAdapter->activate(); + } if(sessionAdpt) { diff --git a/cpp/src/IceGrid/WellKnownObjectsManager.cpp b/cpp/src/IceGrid/WellKnownObjectsManager.cpp index 44b57c5e0be..596f43644bb 100644 --- a/cpp/src/IceGrid/WellKnownObjectsManager.cpp +++ b/cpp/src/IceGrid/WellKnownObjectsManager.cpp @@ -120,3 +120,14 @@ WellKnownObjectsManager::getEndpoints(const string& name) Lock sync(*this); return _endpoints[name]; } + +LocatorPrx +WellKnownObjectsManager::getLocator() +{ + Lock sync(*this); + Ice::Identity id; + id.name = "Locator"; + id.category = _database->getInstanceName(); + Ice::ObjectPrx prx = _database->getReplicaCache().getEndpoints("Client", _endpoints["Client"]); + return LocatorPrx::uncheckedCast(prx->ice_identity(id)); +} diff --git a/cpp/src/IceGrid/WellKnownObjectsManager.h b/cpp/src/IceGrid/WellKnownObjectsManager.h index a879b824bf0..f6ee5a35112 100644 --- a/cpp/src/IceGrid/WellKnownObjectsManager.h +++ b/cpp/src/IceGrid/WellKnownObjectsManager.h @@ -11,6 +11,7 @@ #define ICE_GRID_WELL_KNOWN_OBJECTS_MANAGER_H #include <IceGrid/Internal.h> +#include <IceGrid/Locator.h> namespace IceGrid { @@ -34,6 +35,8 @@ public: Ice::ObjectPrx getEndpoints(const std::string&); + LocatorPrx getLocator(); + private: bool initialized() const; diff --git a/cpp/src/IceGridLib/.depend b/cpp/src/IceGridLib/.depend index c3d18ed4c90..aa301a75467 100644 --- a/cpp/src/IceGridLib/.depend +++ b/cpp/src/IceGridLib/.depend @@ -1,16 +1,19 @@ Admin$(OBJEXT): Admin.cpp $(includedir)/IceGrid/Admin.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/DisableWarnings.h Locator$(OBJEXT): Locator.cpp $(includedir)/IceGrid/Locator.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/Locator.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h +Discovery$(OBJEXT): Discovery.cpp $(includedir)/IceGrid/Discovery.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceGrid/Locator.h $(includedir)/Ice/Locator.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h Query$(OBJEXT): Query.cpp $(includedir)/IceGrid/Query.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceGrid/Exception.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h Exception$(OBJEXT): Exception.cpp $(includedir)/IceGrid/Exception.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/FactoryTable.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Version.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h Descriptor$(OBJEXT): Descriptor.cpp $(includedir)/IceGrid/Descriptor.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h +DiscoveryPluginI$(OBJEXT): DiscoveryPluginI.cpp $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/StringConverter.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/IceUtil/IconvStringConverter.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Config.h $(includedir)/Ice/DeprecatedStringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/GCObject.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/NativePropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h ../IceGridLib/DiscoveryPluginI.h $(includedir)/IceGrid/Discovery.h $(includedir)/IceGrid/Locator.h FileParser$(OBJEXT): FileParser.cpp $(includedir)/IceGrid/FileParser.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/DisableWarnings.h Observer$(OBJEXT): Observer.cpp $(includedir)/IceGrid/Observer.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/DisableWarnings.h Session$(OBJEXT): Session.cpp $(includedir)/IceGrid/Session.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h Registry$(OBJEXT): Registry.cpp $(includedir)/IceGrid/Registry.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceGrid/Exception.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceGrid/Session.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceGrid/Descriptor.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/DisableWarnings.h UserAccountMapper$(OBJEXT): UserAccountMapper.cpp $(includedir)/IceGrid/UserAccountMapper.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/DisableWarnings.h PluginFacade$(OBJEXT): PluginFacade.cpp $(includedir)/IceGrid/PluginFacade.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/DisableWarnings.h -PluginFacadeI$(OBJEXT): PluginFacadeI.cpp $(includedir)/IceGrid/IceGrid.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/IceGrid/FileParser.h $(includedir)/IceGrid/Locator.h $(includedir)/Ice/Locator.h $(includedir)/Ice/ProcessF.h $(includedir)/IceGrid/Observer.h $(includedir)/IceGrid/Query.h $(includedir)/IceGrid/Registry.h $(includedir)/IceGrid/Session.h $(includedir)/IceGrid/UserAccountMapper.h $(includedir)/IceGrid/PluginFacade.h +PluginFacadeI$(OBJEXT): PluginFacadeI.cpp $(includedir)/IceGrid/IceGrid.h $(includedir)/IceGrid/Admin.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/Optional.h $(includedir)/IceUtil/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Version.h $(includedir)/Ice/BasicStream.h $(includedir)/IceUtil/StringConverter.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/GCObject.h $(includedir)/IceUtil/MutexPtrLock.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/ResponseHandlerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/DefaultObjectFactory.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Properties.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceGrid/Exception.h $(includedir)/IceGrid/Descriptor.h $(includedir)/IceGrid/FileParser.h $(includedir)/IceGrid/Locator.h $(includedir)/Ice/Locator.h $(includedir)/Ice/ProcessF.h $(includedir)/IceGrid/Observer.h $(includedir)/IceGrid/Query.h $(includedir)/IceGrid/Registry.h $(includedir)/IceGrid/Session.h $(includedir)/IceGrid/UserAccountMapper.h $(includedir)/IceGrid/PluginFacade.h $(includedir)/IceGrid/Discovery.h $(HDIR)/Admin.h Admin.cpp: $(slicedir)/IceGrid/Admin.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/BuiltinSequences.ice $(slicedir)/Ice/Properties.ice $(slicedir)/Ice/PropertiesAdmin.ice $(slicedir)/Ice/SliceChecksumDict.ice $(slicedir)/Glacier2/Session.ice $(slicedir)/Glacier2/SSLInfo.ice $(slicedir)/IceGrid/Exception.ice $(slicedir)/IceGrid/Descriptor.ice $(SLICE2CPP) $(SLICEPARSERLIB) +$(HDIR)/Discovery.h Discovery.cpp: $(slicedir)/IceGrid/Discovery.ice $(slicedir)/IceGrid/Locator.ice $(slicedir)/Ice/Locator.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/ProcessF.ice $(SLICE2CPP) $(SLICEPARSERLIB) $(HDIR)/Exception.h Exception.cpp: $(slicedir)/IceGrid/Exception.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/BuiltinSequences.ice $(SLICE2CPP) $(SLICEPARSERLIB) $(HDIR)/FileParser.h FileParser.cpp: $(slicedir)/IceGrid/FileParser.ice $(slicedir)/IceGrid/Admin.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/BuiltinSequences.ice $(slicedir)/Ice/Properties.ice $(slicedir)/Ice/PropertiesAdmin.ice $(slicedir)/Ice/SliceChecksumDict.ice $(slicedir)/Glacier2/Session.ice $(slicedir)/Glacier2/SSLInfo.ice $(slicedir)/IceGrid/Exception.ice $(slicedir)/IceGrid/Descriptor.ice $(SLICE2CPP) $(SLICEPARSERLIB) $(HDIR)/Locator.h Locator.cpp: $(slicedir)/IceGrid/Locator.ice $(slicedir)/Ice/Locator.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/ProcessF.ice $(SLICE2CPP) $(SLICEPARSERLIB) diff --git a/cpp/src/IceGridLib/.depend.mak b/cpp/src/IceGridLib/.depend.mak index 5054303a94a..9070a5b316b 100644 --- a/cpp/src/IceGridLib/.depend.mak +++ b/cpp/src/IceGridLib/.depend.mak @@ -1,16 +1,19 @@ Admin$(OBJEXT): Admin.cpp "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/IceUtil/DisableWarnings.h" Locator$(OBJEXT): Locator.cpp "$(includedir)/IceGrid/Locator.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" +Discovery$(OBJEXT): Discovery.cpp "$(includedir)/IceGrid/Discovery.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/IceGrid/Locator.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" Query$(OBJEXT): Query.cpp "$(includedir)/IceGrid/Query.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" Exception$(OBJEXT): Exception.cpp "$(includedir)/IceGrid/Exception.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" Descriptor$(OBJEXT): Descriptor.cpp "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" +DiscoveryPluginI$(OBJEXT): DiscoveryPluginI.cpp "$(includedir)/IceUtil/IceUtil.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/IceUtil/AbstractMutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/Cache.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/IceUtil/CountDownLatch.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/CtrlCHandler.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/IceUtil/RecMutex.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/UUID.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/IceUtil/IconvStringConverter.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/DeprecatedStringConverter.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/InstrumentationF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/NativePropertiesAdmin.h" "$(includedir)/Ice/Metrics.h" "$(includedir)/Ice/Service.h" ../IceGridLib/DiscoveryPluginI.h "$(includedir)/IceGrid/Discovery.h" "$(includedir)/IceGrid/Locator.h" FileParser$(OBJEXT): FileParser.cpp "$(includedir)/IceGrid/FileParser.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/IceUtil/DisableWarnings.h" Observer$(OBJEXT): Observer.cpp "$(includedir)/IceGrid/Observer.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/IceUtil/DisableWarnings.h" Session$(OBJEXT): Session.cpp "$(includedir)/IceGrid/Session.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" Registry$(OBJEXT): Registry.cpp "$(includedir)/IceGrid/Registry.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceGrid/Session.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/IceUtil/DisableWarnings.h" UserAccountMapper$(OBJEXT): UserAccountMapper.cpp "$(includedir)/IceGrid/UserAccountMapper.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/IceUtil/DisableWarnings.h" PluginFacade$(OBJEXT): PluginFacade.cpp "$(includedir)/IceGrid/PluginFacade.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/SlicedData.h" "$(includedir)/Ice/SliceChecksums.h" "$(includedir)/IceUtil/DisableWarnings.h" -PluginFacadeI$(OBJEXT): PluginFacadeI.cpp "$(includedir)/IceGrid/IceGrid.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/IceGrid/FileParser.h" "$(includedir)/IceGrid/Locator.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/IceGrid/Observer.h" "$(includedir)/IceGrid/Query.h" "$(includedir)/IceGrid/Registry.h" "$(includedir)/IceGrid/Session.h" "$(includedir)/IceGrid/UserAccountMapper.h" "$(includedir)/IceGrid/PluginFacade.h" +PluginFacadeI$(OBJEXT): PluginFacadeI.cpp "$(includedir)/IceGrid/IceGrid.h" "$(includedir)/IceGrid/Admin.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Handle.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/Format.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/Ice/StreamHelpers.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/IceUtil/Iterator.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/Optional.h" "$(includedir)/IceUtil/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/IceUtil/UniquePtr.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/Version.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/IceUtil/StringConverter.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/ObjectFactoryManagerF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/SlicedDataF.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/ObserverHelper.h" "$(includedir)/Ice/Instrumentation.h" "$(includedir)/Ice/GCObject.h" "$(includedir)/IceUtil/MutexPtrLock.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/ResponseHandlerF.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/DefaultObjectFactory.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/PropertiesAdmin.h" "$(includedir)/Ice/SliceChecksumDict.h" "$(includedir)/Glacier2/Session.h" "$(includedir)/Glacier2/SSLInfo.h" "$(includedir)/IceGrid/Exception.h" "$(includedir)/IceGrid/Descriptor.h" "$(includedir)/IceGrid/FileParser.h" "$(includedir)/IceGrid/Locator.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/IceGrid/Observer.h" "$(includedir)/IceGrid/Query.h" "$(includedir)/IceGrid/Registry.h" "$(includedir)/IceGrid/Session.h" "$(includedir)/IceGrid/UserAccountMapper.h" "$(includedir)/IceGrid/PluginFacade.h" "$(includedir)/IceGrid/Discovery.h" $(HDIR)\Admin.h Admin.cpp: "$(slicedir)/IceGrid/Admin.ice" "$(slicedir)/Ice/Identity.ice" "$(slicedir)/Ice/BuiltinSequences.ice" "$(slicedir)/Ice/Properties.ice" "$(slicedir)/Ice/PropertiesAdmin.ice" "$(slicedir)/Ice/SliceChecksumDict.ice" "$(slicedir)/Glacier2/Session.ice" "$(slicedir)/Glacier2/SSLInfo.ice" "$(slicedir)/IceGrid/Exception.ice" "$(slicedir)/IceGrid/Descriptor.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)" +$(HDIR)\Discovery.h Discovery.cpp: "$(slicedir)/IceGrid/Discovery.ice" "$(slicedir)/IceGrid/Locator.ice" "$(slicedir)/Ice/Locator.ice" "$(slicedir)/Ice/Identity.ice" "$(slicedir)/Ice/ProcessF.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)" $(HDIR)\Exception.h Exception.cpp: "$(slicedir)/IceGrid/Exception.ice" "$(slicedir)/Ice/Identity.ice" "$(slicedir)/Ice/BuiltinSequences.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)" $(HDIR)\FileParser.h FileParser.cpp: "$(slicedir)/IceGrid/FileParser.ice" "$(slicedir)/IceGrid/Admin.ice" "$(slicedir)/Ice/Identity.ice" "$(slicedir)/Ice/BuiltinSequences.ice" "$(slicedir)/Ice/Properties.ice" "$(slicedir)/Ice/PropertiesAdmin.ice" "$(slicedir)/Ice/SliceChecksumDict.ice" "$(slicedir)/Glacier2/Session.ice" "$(slicedir)/Glacier2/SSLInfo.ice" "$(slicedir)/IceGrid/Exception.ice" "$(slicedir)/IceGrid/Descriptor.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)" $(HDIR)\Locator.h Locator.cpp: "$(slicedir)/IceGrid/Locator.ice" "$(slicedir)/Ice/Locator.ice" "$(slicedir)/Ice/Identity.ice" "$(slicedir)/Ice/ProcessF.ice" "$(SLICE2CPP)" "$(SLICEPARSERLIB)" diff --git a/cpp/src/IceGridLib/.gitignore b/cpp/src/IceGridLib/.gitignore index 348d382bf7c..2160a338b11 100644 --- a/cpp/src/IceGridLib/.gitignore +++ b/cpp/src/IceGridLib/.gitignore @@ -2,6 +2,7 @@ // IMPORTANT: Do not edit this file -- any edits made here will be lost! Admin.cpp +Discovery.cpp Exception.cpp FileParser.cpp Locator.cpp diff --git a/cpp/src/IceGridLib/DiscoveryPluginI.cpp b/cpp/src/IceGridLib/DiscoveryPluginI.cpp new file mode 100644 index 00000000000..0e0981b7cd7 --- /dev/null +++ b/cpp/src/IceGridLib/DiscoveryPluginI.cpp @@ -0,0 +1,472 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2014 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. +// +// ********************************************************************** + +#ifndef ICE_GRID_API_EXPORTS +# define ICE_GRID_API_EXPORTS +#endif + +#include <IceUtil/IceUtil.h> +#include <Ice/Ice.h> + +#include <IceGridLib/DiscoveryPluginI.h> +#include <IceGrid/Discovery.h> + +using namespace std; +using namespace IceGrid; + +namespace +{ + +class LocatorI; // Forward declaration + +class Request : public IceUtil::Shared +{ +public: + + Request(LocatorI* locator) : _locator(locator) + { + } + + virtual void invoke(const Ice::LocatorPrx&) = 0; + virtual void response(const Ice::ObjectPrx&) = 0; + +protected: + + LocatorI* _locator; + Ice::LocatorPrx _locatorPrx; +}; +typedef IceUtil::Handle<Request> RequestPtr; + +class LocatorI : public Ice::Locator, private IceUtil::TimerTask, private IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + LocatorI(const LookupPrx&, const Ice::PropertiesPtr&); + void setLookupReply(const LookupReplyPrx&); + + virtual void findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr&, const Ice::Identity&, + const Ice::Current&) const; + + virtual void findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr&, const string&, + const Ice::Current&) const; + + virtual Ice::LocatorRegistryPrx getRegistry(const Ice::Current&) const; + + void foundLocator(const LocatorPrx&); + void invoke(const Ice::LocatorPrx&, const RequestPtr&); + +private: + + virtual void runTimerTask(); + void queueRequest(const RequestPtr&); + + const LookupPrx _lookup; + const IceUtil::Time _timeout; + const int _retryCount; + const IceUtil::TimerPtr _timer; + + string _instanceName; + bool _warned; + LookupReplyPrx _lookupReply; + Ice::LocatorPrx _locator; + + int _pendingRetryCount; + vector<RequestPtr> _pendingRequests; +}; +typedef IceUtil::Handle<LocatorI> LocatorIPtr; + +class LookupReplyI : public LookupReply +{ +public: + + LookupReplyI(const LocatorIPtr& locator) : _locator(locator) + { + } + + virtual void foundLocator(const LocatorPrx&, const Ice::Current&); + +private: + + const LocatorIPtr _locator; +}; + +class ObjectRequest : public Request +{ +public: + + ObjectRequest(LocatorI* locator, const Ice::Identity& id, const Ice::AMD_Locator_findObjectByIdPtr& amdCB) : + Request(locator), _id(id), _amdCB(amdCB) + { + } + + virtual void invoke(const Ice::LocatorPrx&); + virtual void response(const Ice::ObjectPrx&); + + void + exception(const Ice::Exception&) + { + _locator->invoke(_locatorPrx, this); // Retry with new locator proxy + } + +private: + + const Ice::Identity _id; + Ice::AMD_Locator_findObjectByIdPtr _amdCB; +}; + +class AdapterRequest : public Request +{ +public: + + AdapterRequest(LocatorI* locator, const string& adapterId, const Ice::AMD_Locator_findAdapterByIdPtr& amdCB) : + Request(locator), _adapterId(adapterId), _amdCB(amdCB) + { + } + + virtual void invoke(const Ice::LocatorPrx&); + virtual void response(const Ice::ObjectPrx&); + + void + exception(const Ice::Exception&) + { + _locator->invoke(_locatorPrx, this); // Retry with new locator proxy. + } + +private: + + const string _adapterId; + const Ice::AMD_Locator_findAdapterByIdPtr _amdCB; +}; + +} + +// +// Plugin factory function. +// +extern "C" +{ + +ICE_DECLSPEC_EXPORT Ice::Plugin* +createIceGridDiscovery(const Ice::CommunicatorPtr& communicator, const string&, const Ice::StringSeq&) +{ + return new DiscoveryPluginI(communicator); +} + +} + +DiscoveryPluginI::DiscoveryPluginI(const Ice::CommunicatorPtr& communicator) : _communicator(communicator) +{ +} + +void +DiscoveryPluginI::initialize() +{ + Ice::PropertiesPtr properties = _communicator->getProperties(); + + bool ipv4 = properties->getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0; + string address; + if(ipv4) + { + address = properties->getPropertyWithDefault("IceGridDiscovery.Address", "239.255.0.1"); + } + else + { + address = properties->getPropertyWithDefault("IceGridDiscovery.Address", "ff15::1"); + } + int port = properties->getPropertyAsIntWithDefault("IceGridDiscovery.Port", 4061); + string intf = properties->getProperty("IceGridDiscovery.Interface"); + + if(properties->getProperty("IceGridDiscovery.Reply.Endpoints").empty()) + { + ostringstream os; + os << "udp"; + if(!intf.empty()) + { + os << " -h \"" << intf << "\""; + } + properties->setProperty("IceGridDiscovery.Reply.Endpoints", os.str()); + } + if(properties->getProperty("IceGridDiscovery.Locator.Endpoints").empty()) + { + properties->setProperty("IceGridDiscovery.Locator.AdapterId", IceUtil::generateUUID()); // Collocated adapter + } + + _replyAdapter = _communicator->createObjectAdapter("IceGridDiscovery.Reply"); + _locatorAdapter = _communicator->createObjectAdapter("IceGridDiscovery.Locator"); + + // We don't want those adapters to be registered with the locator so clear their locator. + _replyAdapter->setLocator(0); + _locatorAdapter->setLocator(0); + + string lookupEndpoints = properties->getProperty("IceGridDiscovery.Lookup"); + if(lookupEndpoints.empty()) + { + ostringstream os; + os << "udp -h \"" << address << "\" -p " << port; + if(!intf.empty()) + { + os << " --interface \"" << intf << "\""; + } + lookupEndpoints = os.str(); + } + + Ice::ObjectPrx lookupPrx = _communicator->stringToProxy("IceGridDiscovery/Lookup -d:" + lookupEndpoints); + lookupPrx = lookupPrx->ice_collocationOptimized(false); // No collocation optimization for the multicast proxy! + try + { + lookupPrx->ice_getConnection(); // Ensure we can establish a connection to the multicast proxy + } + catch(const Ice::LocalException& ex) + { + ostringstream os; + os << "unable to establish multicast connection, IceGrid discovery will be disabled:\n"; + os << "proxy = " << lookupPrx << '\n'; + os << ex; + throw Ice::PluginInitializationException(__FILE__, __LINE__, os.str()); + } + + LocatorIPtr locator = new LocatorI(LookupPrx::uncheckedCast(lookupPrx), properties); + _communicator->setDefaultLocator(Ice::LocatorPrx::uncheckedCast(_locatorAdapter->addWithUUID(locator))); + + Ice::ObjectPrx lookupReply = _replyAdapter->addWithUUID(new LookupReplyI(locator))->ice_datagram(); + locator->setLookupReply(LookupReplyPrx::uncheckedCast(lookupReply)); + + _replyAdapter->activate(); + _locatorAdapter->activate(); +} + +void +DiscoveryPluginI::destroy() +{ + _replyAdapter->destroy(); + _locatorAdapter->destroy(); +} + +void +AdapterRequest::invoke(const Ice::LocatorPrx& l) +{ + _locatorPrx = l; + l->begin_findAdapterById(_adapterId, Ice::newCallback_Locator_findAdapterById(this, + &AdapterRequest::response, + &AdapterRequest::exception)); +} + +void +AdapterRequest::response(const Ice::ObjectPrx& prx) +{ + _amdCB->ice_response(prx); +} + +void +ObjectRequest::invoke(const Ice::LocatorPrx& l) +{ + _locatorPrx = l; + l->begin_findObjectById(_id, Ice::newCallback_Locator_findObjectById(this, + &ObjectRequest::response, + &ObjectRequest::exception)); +} + +void +ObjectRequest::response(const Ice::ObjectPrx& prx) +{ + _amdCB->ice_response(prx); +} + +LocatorI::LocatorI(const LookupPrx& lookup, const Ice::PropertiesPtr& properties) : + _lookup(lookup), + _timeout(IceUtil::Time::milliSeconds(properties->getPropertyAsIntWithDefault("IceGridDiscovery.Timeout", 300))), + _retryCount(properties->getPropertyAsIntWithDefault("IceGridDiscovery.RetryCount", 3)), + _timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator())), + _instanceName(properties->getProperty("IceGridDiscovery.InstanceName")), + _warned(false), + _locator(lookup->ice_getCommunicator()->getDefaultLocator()), + _pendingRetryCount(0) +{ +} + +void +LocatorI::setLookupReply(const LookupReplyPrx& lookupReply) +{ + _lookupReply = lookupReply; +} + +void +LocatorI::findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr& amdCB, + const Ice::Identity& id, + const Ice::Current&) const +{ + const_cast<LocatorI*>(this)->invoke(0, new ObjectRequest(const_cast<LocatorI*>(this), id, amdCB)); +} + +void +LocatorI::findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB, + const string& adapterId, + const Ice::Current&) const +{ + const_cast<LocatorI*>(this)->invoke(0, new AdapterRequest(const_cast<LocatorI*>(this), adapterId, amdCB)); +} + +Ice::LocatorRegistryPrx +LocatorI::getRegistry(const Ice::Current&) const +{ + Ice::LocatorPrx locator; + { + Lock sync(*this); + if(!_locator) + { + const_cast<LocatorI*>(this)->queueRequest(0); // Search for locator if not already doing so. + while(_pendingRetryCount > 0) + { + wait(); + } + } + locator = _locator; + } + return locator ? locator->getRegistry() : Ice::LocatorRegistryPrx(); +} + +void +LocatorI::foundLocator(const LocatorPrx& locator) +{ + Lock sync(*this); + if(!locator) + { + return; + } + + // + // If we already have a locator assigned, ensure the given locator + // has the same identity, otherwise ignore it. + // + if(_locator && locator->ice_getIdentity().category != _locator->ice_getIdentity().category) + { + _warned = true; // Only warn once. + + Ice::Warning out(locator->ice_getCommunicator()->getLogger()); + out << "received IceGrid locator with different instance name:\n"; + out << "using = `" << _locator->ice_getIdentity().category << "'\n"; + out << "received = `" << locator->ice_getIdentity().category << "'\n"; + out << "This is typically the case if multiple IceGrid registries with different "; + out << "instance names are deployed and the property `IceGridDiscovery.InstanceName' "; + out << "is not set."; + return; + } + + if(_pendingRetryCount > 0) // No need to retry, we found a locator. + { + _timer->cancel(this); + _pendingRetryCount = 0; + } + + if(_locator) + { + // + // We found another locator replica, append its endpoints to the + // current locator proxy endpoints. + // + Ice::EndpointSeq newEndpoints = _locator->ice_getEndpoints(); + Ice::EndpointSeq endpts = locator->ice_getEndpoints(); + for(Ice::EndpointSeq::const_iterator p = endpts.begin(); p != endpts.end(); ++p) + { + // + // Only add endpoints if not already in the locator proxy endpoints + // + bool found = false; + for(Ice::EndpointSeq::const_iterator q = newEndpoints.begin(); q != newEndpoints.end(); ++q) + { + if(*p == *q) + { + found = true; + break; + } + } + if(!found) + { + newEndpoints.push_back(*p); + } + } + _locator = _locator->ice_endpoints(newEndpoints); + } + else + { + _locator = locator; + if(_instanceName.empty()) + { + _instanceName = _locator->ice_getIdentity().category; + } + } + + // + // Send pending requests if any. + // + for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p) + { + (*p)->invoke(_locator); + } + _pendingRequests.clear(); + notifyAll(); +} + +void +LocatorI::invoke(const Ice::LocatorPrx& locator, const RequestPtr& request) +{ + Lock sync(*this); + if(_locator && _locator != locator) + { + request->invoke(_locator); + } + else + { + _locator = 0; + queueRequest(request); + } +} + +void +LocatorI::runTimerTask() +{ + Lock sync(*this); + if(--_pendingRetryCount > 0) + { + _lookup->begin_findLocator(_instanceName, _lookupReply); // Send multicast request. + _timer->schedule(this, _timeout); + } + else + { + assert(!_pendingRequests.empty()); + for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p) + { + (*p)->response(0); + } + _pendingRequests.clear(); + notifyAll(); + } +} + +void +LocatorI::queueRequest(const RequestPtr& request) +{ + if(request) + { + _pendingRequests.push_back(request); + } + + if(_pendingRetryCount == 0) // No request in progress + { + _pendingRetryCount = _retryCount; + _lookup->begin_findLocator(_instanceName, _lookupReply); // Send multicast request. + _timer->schedule(this, _timeout); + } +} + +void +LookupReplyI::foundLocator(const LocatorPrx& locator, const Ice::Current&) +{ + _locator->foundLocator(locator); +} diff --git a/cpp/src/IceGridLib/DiscoveryPluginI.h b/cpp/src/IceGridLib/DiscoveryPluginI.h new file mode 100644 index 00000000000..d63f327e858 --- /dev/null +++ b/cpp/src/IceGridLib/DiscoveryPluginI.h @@ -0,0 +1,36 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2014 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. +// +// ********************************************************************** + +#ifndef PLUGIN_I_H +#define PLUGIN_I_H + +#include <Ice/Plugin.h> + +namespace IceGrid +{ + +class DiscoveryPluginI : public Ice::Plugin +{ +public: + + DiscoveryPluginI(const Ice::CommunicatorPtr&); + + virtual void initialize(); + virtual void destroy(); + +private: + + const Ice::CommunicatorPtr _communicator; + Ice::ObjectAdapterPtr _locatorAdapter; + Ice::ObjectAdapterPtr _replyAdapter; +}; + +}; + +#endif diff --git a/cpp/src/IceGridLib/Makefile b/cpp/src/IceGridLib/Makefile index 595c07f1716..888c193070d 100644 --- a/cpp/src/IceGridLib/Makefile +++ b/cpp/src/IceGridLib/Makefile @@ -18,20 +18,23 @@ TARGETS = $(LIBTARGETS) $(NODE_SERVER) $(REGISTRY_SERVER) $(ADMIN) LIB_OBJS = Admin.o \ Locator.o \ + Discovery.o \ Query.o \ Exception.o \ Descriptor.o \ + DiscoveryPluginI.o \ FileParser.o \ Observer.o \ Session.o \ Registry.o \ UserAccountMapper.o \ PluginFacade.o \ - PluginFacadeI.o + PluginFacadeI.o \ SRCS = $(LIB_OBJS:.o=.cpp) SLICE_SRCS = $(SDIR)/Admin.ice \ + $(SDIR)/Discovery.ice \ $(SDIR)/Exception.ice \ $(SDIR)/FileParser.ice \ $(SDIR)/Locator.ice \ diff --git a/cpp/src/IceGridLib/Makefile.mak b/cpp/src/IceGridLib/Makefile.mak index 2bb91183f03..fe0f73e1635 100644 --- a/cpp/src/IceGridLib/Makefile.mak +++ b/cpp/src/IceGridLib/Makefile.mak @@ -16,9 +16,11 @@ TARGETS = $(LIBNAME) $(DLLNAME) LIB_OBJS = Admin.obj \ Locator.obj \ + Discovery.obj \ Query.obj \ Exception.obj \ Descriptor.obj \ + DiscoveryPluginI.obj \ FileParser.obj \ Observer.obj \ Session.obj \ @@ -58,6 +60,7 @@ clean:: -del /q FileParser.cpp $(HDIR)\FileParser.h -del /q Admin.cpp $(HDIR)\Admin.h -del /q Descriptor.cpp $(HDIR)\Descriptor.h + -del /q Discovery.cpp $(HDIR)\Discovery.h -del /q Exception.cpp $(HDIR)\Exception.h -del /q Locator.cpp $(HDIR)\Locator.h -del /q Observer.cpp $(HDIR)\Observer.h diff --git a/cpp/test/IceDiscovery/simple/run.py b/cpp/test/IceDiscovery/simple/run.py index 064953914b1..11098aeba3c 100755 --- a/cpp/test/IceDiscovery/simple/run.py +++ b/cpp/test/IceDiscovery/simple/run.py @@ -28,14 +28,7 @@ num = 3 args = " --Ice.Plugin.IceDiscovery=IceDiscovery:createIceDiscovery" args += " --IceDiscovery.Timeout=30" args += " --IceDiscovery.RetryCount=1" -if TestUtil.ipv6: - # - # Don't set the interface for the multicast datagrams, this doesn't - # work with some Linux distributions (CentOS 6.x) - # - #args += " --IceDiscovery.Address=\"ff15::1:1\" --IceDiscovery.Interface=\"::1\"" - args += " --IceDiscovery.Address=\"ff15::1:1\"" -else: +if not TestUtil.ipv6: args += " --IceDiscovery.Interface=127.0.0.1" serverProc = [] diff --git a/cpp/test/IceGrid/activation/AllTests.cpp b/cpp/test/IceGrid/activation/AllTests.cpp index 1c594e3e7dc..facef446337 100644 --- a/cpp/test/IceGrid/activation/AllTests.cpp +++ b/cpp/test/IceGrid/activation/AllTests.cpp @@ -8,8 +8,7 @@ // ********************************************************************** #include <Ice/Ice.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> +#include <IceGrid/IceGrid.h> #include <IceUtil/Thread.h> #include <TestCommon.h> #include <Test.h> @@ -90,7 +89,8 @@ typedef IceUtil::Handle<PingThread> PingThreadPtr; void allTests(const Ice::CommunicatorPtr& communicator) { - IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(communicator->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); IceGrid::AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cpp/test/IceGrid/admin/run.py b/cpp/test/IceGrid/admin/run.py index 868b9aaa058..33ce1c5c529 100755 --- a/cpp/test/IceGrid/admin/run.py +++ b/cpp/test/IceGrid/admin/run.py @@ -43,11 +43,11 @@ sys.stdout.flush() args = ' --Glacier2.SessionTimeout=5' + \ ' --Glacier2.Client.Endpoints="default -p 12347"' + \ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1"' \ - ' --Glacier2.SessionManager=IceGrid/AdminSessionManager' + \ + ' --Glacier2.SessionManager=TestIceGrid/AdminSessionManager' + \ ' --Glacier2.PermissionsVerifier=Glacier2/NullPermissionsVerifier' + \ - ' --Glacier2.SSLSessionManager=IceGrid/AdminSSLSessionManager' + \ + ' --Glacier2.SSLSessionManager=TestIceGrid/AdminSSLSessionManager' + \ ' --Glacier2.SSLPermissionsVerifier=Glacier2/NullSSLPermissionsVerifier' + \ - ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ + ' --Ice.Default.Locator="TestIceGrid/Locator:default -p 12010"' + \ ' --IceSSL.VerifyPeer=1' routerProc = TestUtil.startServer(router, args, count=2) print("ok") @@ -57,7 +57,7 @@ sys.stdout.flush() # Direct registry connection with username/password icegridadmin = TestUtil.getIceGridAdmin() -args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ +args = ' --Ice.Default.Locator="TestIceGrid/Locator:default -p 12010"' + \ ' --IceGridAdmin.Username=demo' + \ ' --IceGridAdmin.Password=dummy' admin = TestUtil.startClient(icegridadmin, args, None, None, False) @@ -86,7 +86,7 @@ if TestUtil.protocol == "ssl": # Direct registry connection with SSL icegridadmin = TestUtil.getIceGridAdmin() - args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010" --ssl' + args = ' --Ice.Default.Locator="TestIceGrid/Locator:default -p 12010" --ssl' admin = TestUtil.startClient(icegridadmin, args, None, None, False) admin.expect('>>> ') admin.sendline("server list") @@ -108,7 +108,7 @@ if TestUtil.protocol == "ssl": sys.stdout.write("testing commands... ") sys.stdout.flush() icegridadmin = TestUtil.getIceGridAdmin() -args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ +args = ' --Ice.Default.Locator="TestIceGrid/Locator:default -p 12010"' + \ ' --IceGridAdmin.Username=demo' + \ ' --IceGridAdmin.Password=dummy' admin = TestUtil.startClient(icegridadmin, args, None, None, False) diff --git a/cpp/test/IceGrid/allocation/AllTests.cpp b/cpp/test/IceGrid/allocation/AllTests.cpp index e059cb7cad0..c6405614b2b 100644 --- a/cpp/test/IceGrid/allocation/AllTests.cpp +++ b/cpp/test/IceGrid/allocation/AllTests.cpp @@ -10,9 +10,7 @@ #include <IceUtil/Thread.h> #include <IceUtil/Random.h> #include <Ice/Ice.h> -#include <IceGrid/Registry.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Query.h> +#include <IceGrid/IceGrid.h> #include <Glacier2/Router.h> #include <TestCommon.h> #include <Test.h> @@ -276,7 +274,8 @@ typedef IceUtil::Handle<StressClient> StressClientPtr; void allTests(const Ice::CommunicatorPtr& communicator) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(communicator->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cpp/test/IceGrid/allocation/application.xml b/cpp/test/IceGrid/allocation/application.xml index eeb9a1ae2f9..c6009162eab 100644 --- a/cpp/test/IceGrid/allocation/application.xml +++ b/cpp/test/IceGrid/allocation/application.xml @@ -12,7 +12,7 @@ <property name="Glacier2.Client.Endpoints" value="${endpoints}"/> <property name="Glacier2.Server.Endpoints" value="tcp"/> <property name="Glacier2.SessionManager" value="${manager}"/> - <property name="Glacier2.SSLSessionManager" value="IceGrid/SSLSessionManager"/> + <property name="Glacier2.SSLSessionManager" value="TestIceGrid/SSLSessionManager"/> <property name="Glacier2.PermissionsVerifier" value="${verifier}"/> <property name="Glacier2.Client.Trace.Reject" value="0"/> </server> @@ -23,7 +23,7 @@ <server-instance template="Glacier2" id="Glacier2" endpoints="default -p 12347" verifier="PermissionsVerifier" - manager="IceGrid/SessionManager"/> + manager="TestIceGrid/SessionManager"/> <server id="ObjectAllocation" exe="${test.dir}/server" activation="on-demand" pwd="."> <adapter name="Server" endpoints="default"> diff --git a/cpp/test/IceGrid/deployer/AllTests.cpp b/cpp/test/IceGrid/deployer/AllTests.cpp index a04e9251f3a..f9262135994 100644 --- a/cpp/test/IceGrid/deployer/AllTests.cpp +++ b/cpp/test/IceGrid/deployer/AllTests.cpp @@ -8,10 +8,7 @@ // ********************************************************************** #include <Ice/Ice.h> -#include <Ice/BuiltinSequences.h> -#include <IceGrid/Query.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> +#include <IceGrid/IceGrid.h> #include <IceUtil/FileUtil.h> #include <IceUtil/Thread.h> #include <TestCommon.h> @@ -378,8 +375,13 @@ logTests(const Ice::CommunicatorPtr& comm, const AdminSessionPrx& session) void allTests(const Ice::CommunicatorPtr& comm) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(comm->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); + IceGrid::QueryPrx query = IceGrid::QueryPrx::checkedCast( + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Query")); + test(query); + AdminSessionPrx session = registry->createAdminSession("foo", "bar"); session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::HeartbeatAlways); @@ -410,9 +412,6 @@ allTests(const Ice::CommunicatorPtr& comm) test(find(adapterIds.begin(), adapterIds.end(), "ReplicatedAdapter") != adapterIds.end()); cout << "ok" << endl; - QueryPrx query = QueryPrx::checkedCast(comm->stringToProxy("IceGrid/Query")); - test(query); - cout << "testing object registration... " << flush; Ice::ObjectProxySeq objs = query->findAllObjectsByType("::Test"); test(find_if(objs.begin(), objs.end(), bind2nd(ProxyIdentityEqual(comm),"Server1")) != objs.end()); @@ -744,7 +743,7 @@ void allTestsWithTarget(const Ice::CommunicatorPtr& comm) { RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( - comm->stringToProxy("IceGrid/Registry")); + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cpp/test/IceGrid/distribution/AllTests.cpp b/cpp/test/IceGrid/distribution/AllTests.cpp index a99077f1228..3cea78d0e7a 100644 --- a/cpp/test/IceGrid/distribution/AllTests.cpp +++ b/cpp/test/IceGrid/distribution/AllTests.cpp @@ -9,9 +9,7 @@ #include <IceUtil/Thread.h> #include <Ice/Ice.h> -#include <IceGrid/Observer.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> +#include <IceGrid/IceGrid.h> #include <TestCommon.h> #include <Test.h> @@ -24,7 +22,8 @@ using namespace IceGrid; void allTests(const Ice::CommunicatorPtr& communicator) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(communicator->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp index dbac34064df..69e27dcb4dd 100644 --- a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp +++ b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp @@ -9,9 +9,7 @@ #include <IceUtil/Thread.h> #include <Ice/Ice.h> -#include <IceGrid/Observer.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> +#include <IceGrid/IceGrid.h> #include <TestCommon.h> #include <Test.h> @@ -153,7 +151,8 @@ updateServiceRuntimeProperties(const AdminPrx& admin, const ServiceDescriptorPtr void allTests(const Ice::CommunicatorPtr& communicator) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(communicator->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cpp/test/IceGrid/replicaGroup/AllTests.cpp b/cpp/test/IceGrid/replicaGroup/AllTests.cpp index e6e29c6c1fd..0807975791d 100644 --- a/cpp/test/IceGrid/replicaGroup/AllTests.cpp +++ b/cpp/test/IceGrid/replicaGroup/AllTests.cpp @@ -9,9 +9,7 @@ #include <Ice/Ice.h> #include <Ice/BuiltinSequences.h> -#include <IceGrid/Query.h> -#include <IceGrid/Registry.h> -#include <IceGrid/Admin.h> +#include <IceGrid/IceGrid.h> #include <IceUtil/Thread.h> #include <TestCommon.h> #include <Test.h> @@ -105,8 +103,12 @@ removeServer(const AdminPrx& admin, const string& id) void allTests(const Ice::CommunicatorPtr& comm) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(comm->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); + IceGrid::QueryPrx query = IceGrid::QueryPrx::checkedCast( + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Query")); + test(query); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::HeartbeatAlways); @@ -133,9 +135,6 @@ allTests(const Ice::CommunicatorPtr& comm) instantiateServer(admin, "Server", "localnode", params); params["id"] = "Server3"; instantiateServer(admin, "Server", "localnode", params); - - QueryPrx query = IceGrid::QueryPrx::checkedCast(comm->stringToProxy("IceGrid/Query")); - test(query); TestIntfPrx obj = TestIntfPrx::uncheckedCast(comm->stringToProxy("dummy@RoundRobin")); Ice::ObjectProxySeq objs = query->findAllReplicas(obj); @@ -514,9 +513,6 @@ allTests(const Ice::CommunicatorPtr& comm) test(false); } - QueryPrx query = IceGrid::QueryPrx::checkedCast(comm->stringToProxy("IceGrid/Query")); - test(query); - try { ctx["server"] = "Server3"; @@ -785,7 +781,6 @@ allTests(const Ice::CommunicatorPtr& comm) // // Also make sure that findObjectByTypeOnLeastLoadedNode still work. // - QueryPrx query = IceGrid::QueryPrx::checkedCast(comm->stringToProxy("IceGrid/Query")); obj = TestIntfPrx::uncheckedCast(query->findObjectByTypeOnLeastLoadedNode("::Test::TestIntf", LoadSample1)); test(obj->getReplicaId() == "Server2.ReplicatedAdapter"); diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp index ba260864c21..4da303781bb 100644 --- a/cpp/test/IceGrid/replication/AllTests.cpp +++ b/cpp/test/IceGrid/replication/AllTests.cpp @@ -10,10 +10,7 @@ #include <Ice/Ice.h> #include <Ice/BuiltinSequences.h> #include <Ice/Locator.h> -#include <IceGrid/Query.h> -#include <IceGrid/Registry.h> -#include <IceGrid/Admin.h> -#include <IceGrid/UserAccountMapper.h> +#include <IceGrid/IceGrid.h> #include <IceUtil/Thread.h> #include <TestCommon.h> #include <Test.h> @@ -234,7 +231,7 @@ createAdminSession(const Ice::LocatorPrx& locator, const string& replica) { test(waitAndPing(locator)); - string registryStr("TestIceGrid/Registry"); + string registryStr("RepTestIceGrid/Registry"); if(!replica.empty() && replica != "Master") { registryStr += "-" + replica; @@ -253,8 +250,9 @@ createAdminSession(const Ice::LocatorPrx& locator, const string& replica) void allTests(const Ice::CommunicatorPtr& comm) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(comm->stringToProxy("IceGrid/Registry")); - test(registry); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry")); + AdminSessionPrx session = registry->createAdminSession("foo", "bar"); session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::HeartbeatAlways); @@ -283,14 +281,14 @@ allTests(const Ice::CommunicatorPtr& comm) instantiateServer(admin, "IceGridRegistry", params); Ice::LocatorPrx masterLocator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Master:default -p 12050")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Master:default -p 12050")); Ice::LocatorPrx slave1Locator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Slave1:default -p 12051")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Slave1:default -p 12051")); Ice::LocatorPrx slave2Locator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Slave2:default -p 12052")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Slave2:default -p 12052")); Ice::LocatorPrx replicatedLocator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator:default -p 12050:default -p 12051")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator:default -p 12050:default -p 12051")); AdminPrx masterAdmin, slave1Admin, slave2Admin; @@ -316,17 +314,17 @@ allTests(const Ice::CommunicatorPtr& comm) Ice::EndpointSeq endpoints; ObjectInfo info; - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")); - ObjectInfo info1 = slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")); - test(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")) == info); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")); + ObjectInfo info1 = slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")); + test(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")) == info); test(info.type == Ice::Locator::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 2); test(endpoints[0]->toString().find("-p 12050") != string::npos); test(endpoints[1]->toString().find("-p 12051") != string::npos); - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")); - test(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")) == info); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")); + test(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")) == info); test(info.type == IceGrid::Query::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 2); @@ -336,15 +334,15 @@ allTests(const Ice::CommunicatorPtr& comm) admin->startServer("Slave2"); slave2Admin = createAdminSession(slave2Locator, "Slave2"); - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")); // We eventually need to wait here for the update of the replicated objects to propagate to the replica. int nRetry = 0; - while(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")) != info && nRetry < maxRetry) + while(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")) != info && nRetry < maxRetry) { IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(sleepTime)); ++nRetry; } - test(slave2Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")) == info); + test(slave2Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")) == info); test(info.type == Ice::Locator::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 3); @@ -352,15 +350,15 @@ allTests(const Ice::CommunicatorPtr& comm) test(endpoints[1]->toString().find("-p 12051") != string::npos); test(endpoints[2]->toString().find("-p 12052") != string::npos); - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")); // We eventually need to wait here for the update of the replicated objects to propagate to the replica. nRetry = 0; - while(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")) != info && nRetry < maxRetry) + while(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")) != info && nRetry < maxRetry) { IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(sleepTime)); ++nRetry; } - test(slave2Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")) == info); + test(slave2Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")) == info); test(info.type == IceGrid::Query::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 3); @@ -371,29 +369,29 @@ allTests(const Ice::CommunicatorPtr& comm) slave2Admin->shutdown(); waitForServerState(admin, "Slave2", false); - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")); // We eventually need to wait here for the update of the replicated objects to propagate to the replica. nRetry = 0; - while(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")) != info && nRetry < maxRetry) + while(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")) != info && nRetry < maxRetry) { IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(sleepTime)); ++nRetry; } - test(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Locator")) == info); + test(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Locator")) == info); test(info.type == Ice::Locator::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 2); test(endpoints[0]->toString().find("-p 12050") != string::npos); test(endpoints[1]->toString().find("-p 12051") != string::npos); - info = masterAdmin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")); + info = masterAdmin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")); nRetry = 0; - while(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")) != info && nRetry < maxRetry) + while(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")) != info && nRetry < maxRetry) { IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(sleepTime)); ++nRetry; } - test(slave1Admin->getObjectInfo(comm->stringToIdentity("TestIceGrid/Query")) == info); + test(slave1Admin->getObjectInfo(comm->stringToIdentity("RepTestIceGrid/Query")) == info); test(info.type == IceGrid::Query::ice_staticId()); endpoints = info.proxy->ice_getEndpoints(); test(endpoints.size() == 2); @@ -401,10 +399,10 @@ allTests(const Ice::CommunicatorPtr& comm) test(endpoints[1]->toString().find("-p 12051") != string::npos); QueryPrx query; - query = QueryPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Query:" + endpoints[0]->toString())); + query = QueryPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Query:" + endpoints[0]->toString())); Ice::ObjectProxySeq objs = query->findAllObjectsByType("::IceGrid::Registry"); test(objs.size() == 2); - query = QueryPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Query:" + endpoints[1]->toString())); + query = QueryPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Query:" + endpoints[1]->toString())); test(objs == query->findAllObjectsByType("::IceGrid::Registry")); } cout << "ok" << endl; @@ -417,9 +415,9 @@ allTests(const Ice::CommunicatorPtr& comm) // session above!) // RegistryPrx masterRegistry = RegistryPrx::checkedCast( - comm->stringToProxy("TestIceGrid/Registry")->ice_locator(replicatedLocator)); + comm->stringToProxy("RepTestIceGrid/Registry")->ice_locator(replicatedLocator)); RegistryPrx slave1Registry = RegistryPrx::checkedCast( - comm->stringToProxy("TestIceGrid/Registry-Slave1")->ice_locator(replicatedLocator)); + comm->stringToProxy("RepTestIceGrid/Registry-Slave1")->ice_locator(replicatedLocator)); SessionPrx session = masterRegistry->createSession("dummy", "dummy"); session->destroy(); @@ -458,9 +456,9 @@ allTests(const Ice::CommunicatorPtr& comm) // Test registry user-account mapper. // UserAccountMapperPrx masterMapper = UserAccountMapperPrx::checkedCast( - comm->stringToProxy("TestIceGrid/RegistryUserAccountMapper")->ice_locator(replicatedLocator)); + comm->stringToProxy("RepTestIceGrid/RegistryUserAccountMapper")->ice_locator(replicatedLocator)); UserAccountMapperPrx slave1Mapper = UserAccountMapperPrx::checkedCast( - comm->stringToProxy("TestIceGrid/RegistryUserAccountMapper-Slave1")->ice_locator(replicatedLocator)); + comm->stringToProxy("RepTestIceGrid/RegistryUserAccountMapper-Slave1")->ice_locator(replicatedLocator)); test(masterMapper->getUserAccount("Dummy User Account1") == "dummy1"); test(masterMapper->getUserAccount("Dummy User Account2") == "dummy2"); @@ -487,11 +485,11 @@ allTests(const Ice::CommunicatorPtr& comm) // Test SessionManager, SSLSessionManager, // AdminSessionManager, AdminSSLSessionManager // - comm->stringToProxy("TestIceGrid/SessionManager")->ice_locator(replicatedLocator)->ice_ping(); - comm->stringToProxy("TestIceGrid/SSLSessionManager")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/SessionManager")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/SSLSessionManager")->ice_locator(replicatedLocator)->ice_ping(); try { - comm->stringToProxy("TestIceGrid/SessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/SessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); test(false); } catch(const Ice::NotRegisteredException&) @@ -499,17 +497,17 @@ allTests(const Ice::CommunicatorPtr& comm) } try { - comm->stringToProxy("TestIceGrid/SSLSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/SSLSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); test(false); } catch(const Ice::NotRegisteredException&) { } - comm->stringToProxy("TestIceGrid/AdminSessionManager")->ice_locator(replicatedLocator)->ice_ping(); - comm->stringToProxy("TestIceGrid/AdminSSLSessionManager")->ice_locator(replicatedLocator)->ice_ping(); - comm->stringToProxy("TestIceGrid/AdminSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); - comm->stringToProxy("TestIceGrid/AdminSSLSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/AdminSessionManager")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/AdminSSLSessionManager")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/AdminSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); + comm->stringToProxy("RepTestIceGrid/AdminSSLSessionManager-Slave1")->ice_locator(replicatedLocator)->ice_ping(); } cout << "ok" << endl; @@ -1200,7 +1198,7 @@ allTests(const Ice::CommunicatorPtr& comm) admin->startServer("Slave1"); slave1Locator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Master:default -p 12051")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Master:default -p 12051")); slave1Admin = createAdminSession(slave1Locator, ""); waitForReplicaState(slave1Admin, "Slave2", true); @@ -1240,7 +1238,7 @@ allTests(const Ice::CommunicatorPtr& comm) admin->startServer("Slave1"); slave1Locator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Slave1:default -p 12051")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Slave1:default -p 12051")); slave1Admin = createAdminSession(slave1Locator, "Slave1"); comm->stringToProxy("test")->ice_locator(masterLocator)->ice_locatorCacheTimeout(0)->ice_ping(); @@ -1281,7 +1279,7 @@ allTests(const Ice::CommunicatorPtr& comm) waitForNodeState(masterAdmin, "Node2", true); Ice::LocatorPrx slave3Locator = - Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("TestIceGrid/Locator-Slave3 -e 1.0:default -p 12053")); + Ice::LocatorPrx::uncheckedCast(comm->stringToProxy("RepTestIceGrid/Locator-Slave3 -e 1.0:default -p 12053")); IceGrid::AdminPrx slave3Admin = createAdminSession(slave3Locator, "Slave3"); waitForNodeState(slave3Admin, "Node2", true); diff --git a/cpp/test/IceGrid/replication/application.xml b/cpp/test/IceGrid/replication/application.xml index dfe29813fca..ef30515ed2e 100644 --- a/cpp/test/IceGrid/replication/application.xml +++ b/cpp/test/IceGrid/replication/application.xml @@ -9,12 +9,12 @@ <option>--nowarn</option> <dbenv name="data"/> <property name="IceGrid.Node.Endpoints" value="default"/> - <property name="IceGrid.InstanceName" value="TestIceGrid"/> + <property name="IceGrid.InstanceName" value="RepTestIceGrid"/> <property name="IceGrid.Node.Name" value="${server}"/> <property name="IceGrid.Node.Data" value="${node.datadir}/servers/${server}/dbs/data"/> <property name="IceGrid.Node.PropertiesOverride" value="${properties-override} Ice.ServerIdleTime=0 Ice.PrintProcessId=0 Ice.PrintAdapterReady=0"/> - <property name="Ice.Default.Locator" value="TestIceGrid/Locator:default -p 12050:default -p 12051:default -p 12052"/> + <property name="Ice.Default.Locator" value="RepTestIceGrid/Locator:default -p 12050:default -p 12051:default -p 12052"/> <property name="IceGrid.Node.Trace.Replica" value="0"/> <property name="IceGrid.Node.Trace.Adapter" value="0"/> <property name="Ice.Trace.Network" value="0"/> @@ -38,7 +38,7 @@ <!-- Try to make the test run a bit faster... --> <dbproperty name="set_flags" value="DB_TXN_NOSYNC"/> </dbenv> - <property name="IceGrid.InstanceName" value="TestIceGrid"/> + <property name="IceGrid.InstanceName" value="RepTestIceGrid"/> <property name="IceGrid.Registry.Client.Endpoints" value="default -p ${port}"/> <property name="IceGrid.Registry.Server.Endpoints" value="default"/> <property name="IceGrid.Registry.Internal.Endpoints" value="default"/> @@ -46,12 +46,12 @@ <property name="IceGrid.Registry.AdminSessionManager.Endpoints" value="default"/> <property name="IceGrid.Registry.ReplicaName" value="${replicaName}"/> <property name="IceGrid.Registry.Data" value="${node.datadir}/servers/${server}/dbs/data"/> - <property name="IceGrid.Registry.PermissionsVerifier" value="TestIceGrid/NullPermissionsVerifier"/> - <property name="IceGrid.Registry.SSLPermissionsVerifier" value="TestIceGrid/NullSSLPermissionsVerifier"/> - <property name="IceGrid.Registry.AdminPermissionsVerifier" value="TestIceGrid/NullPermissionsVerifier"/> + <property name="IceGrid.Registry.PermissionsVerifier" value="RepTestIceGrid/NullPermissionsVerifier"/> + <property name="IceGrid.Registry.SSLPermissionsVerifier" value="RepTestIceGrid/NullSSLPermissionsVerifier"/> + <property name="IceGrid.Registry.AdminPermissionsVerifier" value="RepTestIceGrid/NullPermissionsVerifier"/> <property name="IceGrid.Registry.SessionTimeout" value="0"/> <property name="IceGrid.Registry.DynamicRegistration" value="1"/> - <property name="Ice.Default.Locator" value="TestIceGrid/Locator:default -p 12050:default -p 12051:default -p 12052"/> + <property name="Ice.Default.Locator" value="RepTestIceGrid/Locator:default -p 12050:default -p 12051:default -p 12052"/> <property name="IceGrid.Registry.Trace.Replica" value="0"/> <property name="IceGrid.Registry.Trace.Node" value="0"/> <property name="Ice.Trace.Network" value="0"/> diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp index 172bbd40344..306f5814c63 100644 --- a/cpp/test/IceGrid/session/AllTests.cpp +++ b/cpp/test/IceGrid/session/AllTests.cpp @@ -9,11 +9,7 @@ #include <IceUtil/Thread.h> #include <Ice/Ice.h> -#include <IceGrid/Registry.h> -#include <IceGrid/Query.h> -#include <IceGrid/Session.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Observer.h> +#include <IceGrid/IceGrid.h> #include <Glacier2/Router.h> #include <TestCommon.h> #include <Test.h> @@ -493,8 +489,8 @@ allTests(const Ice::CommunicatorPtr& communicator) { bool encoding10 = communicator->getProperties()->getProperty("Ice.Default.EncodingVersion") == "1.0"; - RegistryPrx registry = RegistryPrx::checkedCast(communicator->stringToProxy("IceGrid/Registry")); - test(registry); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); AdminSessionPrx session = registry->createAdminSession("admin3", "test3"); session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::HeartbeatAlways); @@ -869,11 +865,11 @@ allTests(const Ice::CommunicatorPtr& communicator) { } - Ice::ObjectPrx obj = communicator->stringToProxy("IceGrid/Query"); + Ice::ObjectPrx obj = communicator->stringToProxy("TestIceGrid/Query"); obj->ice_connectionId("router1")->ice_router(router1)->ice_ping(); obj->ice_connectionId("router2")->ice_router(router2)->ice_ping(); - obj = communicator->stringToProxy("IceGrid/Registry"); + obj = communicator->stringToProxy("TestIceGrid/Registry"); try { obj->ice_connectionId("router1")->ice_router(router1)->ice_ping(); @@ -935,7 +931,7 @@ allTests(const Ice::CommunicatorPtr& communicator) admin1->ice_ping(); admin2->ice_ping(); - obj = communicator->stringToProxy("IceGrid/Query"); + obj = communicator->stringToProxy("TestIceGrid/Query"); obj->ice_connectionId("admRouter1")->ice_router(adminRouter1)->ice_ping(); obj->ice_connectionId("admRouter2")->ice_router(adminRouter2)->ice_ping(); @@ -1035,11 +1031,11 @@ allTests(const Ice::CommunicatorPtr& communicator) { } - Ice::ObjectPrx obj = communicator->stringToProxy("IceGrid/Query"); + Ice::ObjectPrx obj = communicator->stringToProxy("TestIceGrid/Query"); obj->ice_connectionId("router11")->ice_router(router1)->ice_ping(); obj->ice_connectionId("router21")->ice_router(router2)->ice_ping(); - obj = communicator->stringToProxy("IceGrid/Registry"); + obj = communicator->stringToProxy("TestIceGrid/Registry"); try { obj->ice_connectionId("router11")->ice_router(router1)->ice_ping(); @@ -1099,7 +1095,7 @@ allTests(const Ice::CommunicatorPtr& communicator) admin1->ice_ping(); admin2->ice_ping(); - obj = communicator->stringToProxy("IceGrid/Query"); + obj = communicator->stringToProxy("TestIceGrid/Query"); obj->ice_connectionId("admRouter11")->ice_router(adminRouter1)->ice_ping(); obj->ice_connectionId("admRouter21")->ice_router(adminRouter2)->ice_ping(); @@ -1903,7 +1899,7 @@ allTests(const Ice::CommunicatorPtr& communicator) test(registryObs1->registries.find("Master") != registryObs1->registries.end()); test(appObs1->applications.empty()); - QueryPrx query = QueryPrx::uncheckedCast(communicator->stringToProxy("IceGrid/Query")); + QueryPrx query = QueryPrx::uncheckedCast(communicator->stringToProxy("TestIceGrid/Query")); Ice::ObjectProxySeq registries = query->findAllObjectsByType("::IceGrid::Registry"); const string prefix("Registry-"); for(Ice::ObjectProxySeq::const_iterator p = registries.begin(); p != registries.end(); ++p) diff --git a/cpp/test/IceGrid/session/application.xml b/cpp/test/IceGrid/session/application.xml index 8189513628c..a4b7bcf56e1 100644 --- a/cpp/test/IceGrid/session/application.xml +++ b/cpp/test/IceGrid/session/application.xml @@ -26,13 +26,13 @@ <server-instance id="Glacier2" template="Glacier2" endpoints="default -p 12347 -h 127.0.0.1" verifier="ClientPermissionsVerifier" - manager="IceGrid/SessionManager" - ssl-manager="IceGrid/SSLSessionManager"/> + manager="TestIceGrid/SessionManager" + ssl-manager="TestIceGrid/SSLSessionManager"/> <server-instance id="Glacier2Admin" template="Glacier2" endpoints="default -p 12348 -h 127.0.0.1" verifier="AdminPermissionsVerifier:tcp -p 12002" - manager="IceGrid/AdminSessionManager" - ssl-manager="IceGrid/AdminSSLSessionManager"/> + manager="TestIceGrid/AdminSessionManager" + ssl-manager="TestIceGrid/AdminSSLSessionManager"/> <server id="PermissionsVerifierServer" exe="${test.dir}/server" activation="on-demand"> <adapter name="Server" endpoints="default -h 127.0.0.1"> diff --git a/cpp/test/IceGrid/simple/AllTests.cpp b/cpp/test/IceGrid/simple/AllTests.cpp index 8dc264cf295..de4283f1ec1 100644 --- a/cpp/test/IceGrid/simple/AllTests.cpp +++ b/cpp/test/IceGrid/simple/AllTests.cpp @@ -7,11 +7,9 @@ // // ********************************************************************** -#include <Ice/Ice.h> #include <IceUtil/IceUtil.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> -#include <IceGrid/Locator.h> +#include <Ice/Ice.h> +#include <IceGrid/IceGrid.h> #include <TestCommon.h> #include <Test.h> @@ -41,6 +39,20 @@ allTests(const Ice::CommunicatorPtr& communicator) obj->ice_ping(); cout << "ok" << endl; + cout << "testing discovery... " << flush; + { + Ice::InitializationData initData; + initData.properties = communicator->getProperties()->clone(); + initData.properties->setProperty("Ice.Default.Locator", ""); + initData.properties->setProperty("Ice.Plugin.IceGridDiscovery", "IceGrid:createIceGridDiscovery"); + + Ice::CommunicatorPtr com = Ice::initialize(initData); + test(com->getDefaultLocator()); + com->stringToProxy("test @ TestAdapter")->ice_ping(); + com->destroy(); + } + cout << "ok" << endl; + cout << "shutting down server... " << flush; obj->shutdown(); cout << "ok" << endl; @@ -124,8 +136,9 @@ allTestsWithDeploy(const Ice::CommunicatorPtr& communicator) cout << "ok" << endl; IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( - communicator->stringToProxy("IceGrid/Registry")); + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); + IceGrid::AdminSessionPrx session = registry->createAdminSession("foo", "bar"); session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::HeartbeatAlways); diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp index f3731bfbf9c..cf1b16d273d 100644 --- a/cpp/test/IceGrid/update/AllTests.cpp +++ b/cpp/test/IceGrid/update/AllTests.cpp @@ -9,9 +9,7 @@ #include <IceUtil/Thread.h> #include <Ice/Ice.h> -#include <IceGrid/Observer.h> -#include <IceGrid/Admin.h> -#include <IceGrid/Registry.h> +#include <IceGrid/IceGrid.h> #include <TestCommon.h> #include <Test.h> @@ -67,8 +65,8 @@ hasProperty(const CommunicatorDescriptorPtr& desc, const string& name, const str void allTests(const Ice::CommunicatorPtr& communicator) { - RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( - communicator->stringToProxy("IceGrid/Registry")); + IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( + communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); test(registry); AdminSessionPrx session = registry->createAdminSession("foo", "bar"); diff --git a/cs/src/Ice/ObjectAdapterI.cs b/cs/src/Ice/ObjectAdapterI.cs index 915349f2e41..3d3849b01c5 100644 --- a/cs/src/Ice/ObjectAdapterI.cs +++ b/cs/src/Ice/ObjectAdapterI.cs @@ -1478,7 +1478,7 @@ namespace Ice } } - if(instance_.traceLevels().network >= 1) + if(instance_.traceLevels().network >= 1 && endpoints.Count > 0) { StringBuilder s = new StringBuilder("published endpoints for object adapter `"); s.Append(_name); diff --git a/cs/src/Ice/PropertyNames.cs b/cs/src/Ice/PropertyNames.cs index 10c2ccdd18a..a3579f092f2 100644 --- a/cs/src/Ice/PropertyNames.cs +++ b/cs/src/Ice/PropertyNames.cs @@ -6,7 +6,7 @@ // ICE_LICENSE file included in this distribution. // // ********************************************************************** -// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Jun 5 21:19:31 2014 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Wed Jul 9 18:08:33 2014 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -312,6 +312,90 @@ namespace IceInternal null }; + public static Property[] IceGridDiscoveryProps = + { + new Property(@"^IceGridDiscovery\.Reply\.ACM\.Timeout$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ACM\.Heartbeat$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ACM\.Close$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ACM$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.AdapterId$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Endpoints$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.EndpointSelection$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.ConnectionCached$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.PreferSecure$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.InvocationTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.CollocationOptimized$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.PublishedEndpoints$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ReplicaGroupId$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.EndpointSelection$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.ConnectionCached$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.PreferSecure$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.InvocationTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.CollocationOptimized$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ProxyOptions$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.Size$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.SizeMax$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.SizeWarn$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.StackSize$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.Serialize$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.ThreadIdleTime$", false, null), + new Property(@"^IceGridDiscovery\.Reply\.ThreadPool\.ThreadPriority$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ACM\.Timeout$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ACM\.Heartbeat$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ACM\.Close$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ACM$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.AdapterId$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Endpoints$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.EndpointSelection$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.ConnectionCached$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.PreferSecure$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.InvocationTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.CollocationOptimized$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.PublishedEndpoints$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ReplicaGroupId$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.EndpointSelection$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.ConnectionCached$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.PreferSecure$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.InvocationTimeout$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.Locator$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.CollocationOptimized$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.Router$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ProxyOptions$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.Size$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.SizeMax$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.SizeWarn$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.StackSize$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.Serialize$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.ThreadIdleTime$", false, null), + new Property(@"^IceGridDiscovery\.Locator\.ThreadPool\.ThreadPriority$", false, null), + new Property(@"^IceGridDiscovery\.Lookup$", false, null), + new Property(@"^IceGridDiscovery\.Timeout$", false, null), + new Property(@"^IceGridDiscovery\.RetryCount$", false, null), + new Property(@"^IceGridDiscovery\.Address$", false, null), + new Property(@"^IceGridDiscovery\.Port$", false, null), + new Property(@"^IceGridDiscovery\.Interface$", false, null), + new Property(@"^IceGridDiscovery\.InstanceName$", false, null), + null + }; + public static Property[] IceBoxProps = { new Property(@"^IceBox\.InheritProperties$", false, null), @@ -382,6 +466,48 @@ namespace IceInternal new Property(@"^IceGridAdmin\.Username$", false, null), new Property(@"^IceGridAdmin\.Password$", false, null), new Property(@"^IceGridAdmin\.Replica$", false, null), + new Property(@"^IceGridAdmin\.Host$", false, null), + new Property(@"^IceGridAdmin\.Port$", false, null), + new Property(@"^IceGridAdmin\.InstanceName$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Address$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Interface$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Lookup$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ACM\.Timeout$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ACM\.Heartbeat$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ACM\.Close$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ACM$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.AdapterId$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Endpoints$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.EndpointSelection$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.ConnectionCached$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.PreferSecure$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.InvocationTimeout$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.Locator$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.Router$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.CollocationOptimized$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Locator$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.PublishedEndpoints$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ReplicaGroupId$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.EndpointSelection$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.ConnectionCached$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.PreferSecure$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.InvocationTimeout$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.Locator$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.Router$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.CollocationOptimized$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router\.Context\.[^\s]+$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.Router$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ProxyOptions$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.Size$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.SizeMax$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.SizeWarn$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.StackSize$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.Serialize$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.ThreadIdleTime$", false, null), + new Property(@"^IceGridAdmin\.Discovery\.Reply\.ThreadPool\.ThreadPriority$", false, null), new Property(@"^IceGridAdmin\.Trace\.Observers$", false, null), new Property(@"^IceGridAdmin\.Trace\.SaveToRegistry$", false, null), null @@ -587,6 +713,46 @@ namespace IceInternal new Property(@"^IceGrid\.Registry\.CryptPasswords$", false, null), new Property(@"^IceGrid\.Registry\.Data$", false, null), new Property(@"^IceGrid\.Registry\.DefaultTemplates$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ACM\.Timeout$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ACM\.Heartbeat$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ACM\.Close$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ACM$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.AdapterId$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Endpoints$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.EndpointSelection$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.ConnectionCached$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.PreferSecure$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.InvocationTimeout$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.Locator$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.Router$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.CollocationOptimized$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator\.Context\.[^\s]+$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Locator$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.PublishedEndpoints$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ReplicaGroupId$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.EndpointSelection$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.ConnectionCached$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.PreferSecure$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.LocatorCacheTimeout$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.InvocationTimeout$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.Locator$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.Router$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.CollocationOptimized$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router\.Context\.[^\s]+$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Router$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ProxyOptions$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.Size$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.SizeMax$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.SizeWarn$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.StackSize$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.Serialize$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.ThreadIdleTime$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.ThreadPool\.ThreadPriority$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Enabled$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Address$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Port$", false, null), + new Property(@"^IceGrid\.Registry\.Discovery\.Interface$", false, null), new Property(@"^IceGrid\.Registry\.DynamicRegistration$", false, null), new Property(@"^IceGrid\.Registry\.Internal\.ACM\.Timeout$", false, null), new Property(@"^IceGrid\.Registry\.Internal\.ACM\.Heartbeat$", false, null), @@ -1035,6 +1201,7 @@ namespace IceInternal IceProps, IceMXProps, IceDiscoveryProps, + IceGridDiscoveryProps, IceBoxProps, IceBoxAdminProps, IceGridAdminProps, @@ -1053,6 +1220,7 @@ namespace IceInternal "Ice", "IceMX", "IceDiscovery", + "IceGridDiscovery", "IceBox", "IceBoxAdmin", "IceGridAdmin", diff --git a/cs/src/IceDiscovery/PluginI.cs b/cs/src/IceDiscovery/PluginI.cs index 652645f0999..0cdb4a5f185 100644 --- a/cs/src/IceDiscovery/PluginI.cs +++ b/cs/src/IceDiscovery/PluginI.cs @@ -125,8 +125,7 @@ namespace IceDiscovery Ice.ObjectPrx loc; loc = _locatorAdapter.addWithUUID( new LocatorI(lookup, Ice.LocatorRegistryPrxHelper.uncheckedCast(locatorRegistryPrx))); - _communicator.setDefaultLocator( - Ice.LocatorPrxHelper.uncheckedCast(_communicator.stringToProxy(loc.ToString()))); + _communicator.setDefaultLocator(Ice.LocatorPrxHelper.uncheckedCast(loc)); _multicastAdapter.activate(); _replyAdapter.activate(); diff --git a/cs/test/IceDiscovery/simple/run.py b/cs/test/IceDiscovery/simple/run.py index 955aa65c4ae..f2b6a3ef179 100755 --- a/cs/test/IceDiscovery/simple/run.py +++ b/cs/test/IceDiscovery/simple/run.py @@ -33,14 +33,7 @@ if TestUtil.isDarwin() and TestUtil.ipv6: print("test not supported on OS X with IPv6") sys.exit(0) -if TestUtil.ipv6: - # - # Don't set the interface for the multicast datagrams, this doesn't - # work with some Linux distributions (CentOS 6.x) - # - #args += " --IceDiscovery.Address=\"ff15::1:1\" --IceDiscovery.Interface=\"::1\"" - args += " --IceDiscovery.Address=\"ff15::1:1\"" -else: +if not TestUtil.ipv6: args += " --IceDiscovery.Interface=127.0.0.1" serverProc = [] diff --git a/cs/test/IceGrid/simple/AllTests.cs b/cs/test/IceGrid/simple/AllTests.cs index 936e5b012a3..ad9dab507a1 100644 --- a/cs/test/IceGrid/simple/AllTests.cs +++ b/cs/test/IceGrid/simple/AllTests.cs @@ -138,7 +138,7 @@ public class AllTests Console.Out.WriteLine("ok"); IceGrid.RegistryPrx registry = IceGrid.RegistryPrxHelper.checkedCast( - communicator.stringToProxy("IceGrid/Registry")); + communicator.stringToProxy(communicator.getDefaultLocator().ice_getIdentity().category + "/Registry")); test(registry != null); IceGrid.AdminSessionPrx session = null; try diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index e661c886007..c8760a558d7 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -1265,7 +1265,7 @@ public final class ObjectAdapterI implements ObjectAdapter } } - if(_instance.traceLevels().network >= 1) + if(_instance.traceLevels().network >= 1 && !endpoints.isEmpty()) { StringBuffer s = new StringBuffer("published endpoints for object adapter `"); s.append(_name); diff --git a/java/src/IceDiscovery/PluginI.java b/java/src/IceDiscovery/PluginI.java index 9f90c8b251a..a853730bc02 100644 --- a/java/src/IceDiscovery/PluginI.java +++ b/java/src/IceDiscovery/PluginI.java @@ -113,8 +113,7 @@ public class PluginI implements Ice.Plugin // Setup locator on the communicator. // Ice.ObjectPrx locator = _locatorAdapter.addWithUUID(new LocatorI(lookup, locatorRegistryPrx)); - _communicator.setDefaultLocator( - Ice.LocatorPrxHelper.uncheckedCast(_communicator.stringToProxy(locator.toString()))); + _communicator.setDefaultLocator(Ice.LocatorPrxHelper.uncheckedCast(locator)); _multicastAdapter.activate(); _replyAdapter.activate(); diff --git a/java/src/IceInternal/PropertyNames.java b/java/src/IceInternal/PropertyNames.java index 51aaf7ee700..54ca60095a9 100644 --- a/java/src/IceInternal/PropertyNames.java +++ b/java/src/IceInternal/PropertyNames.java @@ -6,7 +6,7 @@ // ICE_LICENSE file included in this distribution. // // ********************************************************************** -// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Jun 5 21:19:31 2014 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Wed Jul 9 18:08:33 2014 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -312,6 +312,90 @@ public final class PropertyNames null }; + public static final Property IceGridDiscoveryProps[] = + { + new Property("IceGridDiscovery\\.Reply\\.ACM\\.Timeout", false, null), + new Property("IceGridDiscovery\\.Reply\\.ACM\\.Heartbeat", false, null), + new Property("IceGridDiscovery\\.Reply\\.ACM\\.Close", false, null), + new Property("IceGridDiscovery\\.Reply\\.ACM", false, null), + new Property("IceGridDiscovery\\.Reply\\.AdapterId", false, null), + new Property("IceGridDiscovery\\.Reply\\.Endpoints", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.EndpointSelection", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.ConnectionCached", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.PreferSecure", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.LocatorCacheTimeout", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.InvocationTimeout", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.Locator", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.Router", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.CollocationOptimized", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator\\.Context\\.[^\\s]+", false, null), + new Property("IceGridDiscovery\\.Reply\\.Locator", false, null), + new Property("IceGridDiscovery\\.Reply\\.PublishedEndpoints", false, null), + new Property("IceGridDiscovery\\.Reply\\.ReplicaGroupId", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.EndpointSelection", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.ConnectionCached", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.PreferSecure", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.LocatorCacheTimeout", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.InvocationTimeout", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.Locator", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.Router", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.CollocationOptimized", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router\\.Context\\.[^\\s]+", false, null), + new Property("IceGridDiscovery\\.Reply\\.Router", false, null), + new Property("IceGridDiscovery\\.Reply\\.ProxyOptions", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.Size", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.SizeMax", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.SizeWarn", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.StackSize", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.Serialize", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.ThreadIdleTime", false, null), + new Property("IceGridDiscovery\\.Reply\\.ThreadPool\\.ThreadPriority", false, null), + new Property("IceGridDiscovery\\.Locator\\.ACM\\.Timeout", false, null), + new Property("IceGridDiscovery\\.Locator\\.ACM\\.Heartbeat", false, null), + new Property("IceGridDiscovery\\.Locator\\.ACM\\.Close", false, null), + new Property("IceGridDiscovery\\.Locator\\.ACM", false, null), + new Property("IceGridDiscovery\\.Locator\\.AdapterId", false, null), + new Property("IceGridDiscovery\\.Locator\\.Endpoints", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.EndpointSelection", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.ConnectionCached", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.PreferSecure", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.LocatorCacheTimeout", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.InvocationTimeout", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.Locator", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.Router", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.CollocationOptimized", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator\\.Context\\.[^\\s]+", false, null), + new Property("IceGridDiscovery\\.Locator\\.Locator", false, null), + new Property("IceGridDiscovery\\.Locator\\.PublishedEndpoints", false, null), + new Property("IceGridDiscovery\\.Locator\\.ReplicaGroupId", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.EndpointSelection", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.ConnectionCached", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.PreferSecure", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.LocatorCacheTimeout", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.InvocationTimeout", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.Locator", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.Router", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.CollocationOptimized", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router\\.Context\\.[^\\s]+", false, null), + new Property("IceGridDiscovery\\.Locator\\.Router", false, null), + new Property("IceGridDiscovery\\.Locator\\.ProxyOptions", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.Size", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.SizeMax", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.SizeWarn", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.StackSize", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.Serialize", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.ThreadIdleTime", false, null), + new Property("IceGridDiscovery\\.Locator\\.ThreadPool\\.ThreadPriority", false, null), + new Property("IceGridDiscovery\\.Lookup", false, null), + new Property("IceGridDiscovery\\.Timeout", false, null), + new Property("IceGridDiscovery\\.RetryCount", false, null), + new Property("IceGridDiscovery\\.Address", false, null), + new Property("IceGridDiscovery\\.Port", false, null), + new Property("IceGridDiscovery\\.Interface", false, null), + new Property("IceGridDiscovery\\.InstanceName", false, null), + null + }; + public static final Property IceBoxProps[] = { new Property("IceBox\\.InheritProperties", false, null), @@ -382,6 +466,48 @@ public final class PropertyNames new Property("IceGridAdmin\\.Username", false, null), new Property("IceGridAdmin\\.Password", false, null), new Property("IceGridAdmin\\.Replica", false, null), + new Property("IceGridAdmin\\.Host", false, null), + new Property("IceGridAdmin\\.Port", false, null), + new Property("IceGridAdmin\\.InstanceName", false, null), + new Property("IceGridAdmin\\.Discovery\\.Address", false, null), + new Property("IceGridAdmin\\.Discovery\\.Interface", false, null), + new Property("IceGridAdmin\\.Discovery\\.Lookup", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ACM\\.Timeout", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ACM\\.Heartbeat", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ACM\\.Close", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ACM", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.AdapterId", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Endpoints", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.EndpointSelection", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.ConnectionCached", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.PreferSecure", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.LocatorCacheTimeout", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.InvocationTimeout", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.Locator", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.Router", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.CollocationOptimized", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator\\.Context\\.[^\\s]+", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Locator", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.PublishedEndpoints", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ReplicaGroupId", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.EndpointSelection", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.ConnectionCached", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.PreferSecure", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.LocatorCacheTimeout", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.InvocationTimeout", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.Locator", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.Router", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.CollocationOptimized", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router\\.Context\\.[^\\s]+", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.Router", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ProxyOptions", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.Size", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.SizeMax", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.SizeWarn", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.StackSize", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.Serialize", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.ThreadIdleTime", false, null), + new Property("IceGridAdmin\\.Discovery\\.Reply\\.ThreadPool\\.ThreadPriority", false, null), new Property("IceGridAdmin\\.Trace\\.Observers", false, null), new Property("IceGridAdmin\\.Trace\\.SaveToRegistry", false, null), null @@ -587,6 +713,46 @@ public final class PropertyNames new Property("IceGrid\\.Registry\\.CryptPasswords", false, null), new Property("IceGrid\\.Registry\\.Data", false, null), new Property("IceGrid\\.Registry\\.DefaultTemplates", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ACM\\.Timeout", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ACM\\.Heartbeat", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ACM\\.Close", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ACM", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.AdapterId", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Endpoints", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.EndpointSelection", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.ConnectionCached", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.PreferSecure", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.LocatorCacheTimeout", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.InvocationTimeout", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.Locator", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.Router", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.CollocationOptimized", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator\\.Context\\.[^\\s]+", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Locator", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.PublishedEndpoints", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ReplicaGroupId", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.EndpointSelection", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.ConnectionCached", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.PreferSecure", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.LocatorCacheTimeout", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.InvocationTimeout", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.Locator", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.Router", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.CollocationOptimized", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router\\.Context\\.[^\\s]+", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Router", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ProxyOptions", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.Size", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.SizeMax", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.SizeWarn", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.StackSize", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.Serialize", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.ThreadIdleTime", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.ThreadPool\\.ThreadPriority", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Enabled", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Address", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Port", false, null), + new Property("IceGrid\\.Registry\\.Discovery\\.Interface", false, null), new Property("IceGrid\\.Registry\\.DynamicRegistration", false, null), new Property("IceGrid\\.Registry\\.Internal\\.ACM\\.Timeout", false, null), new Property("IceGrid\\.Registry\\.Internal\\.ACM\\.Heartbeat", false, null), @@ -1036,6 +1202,7 @@ public final class PropertyNames IceProps, IceMXProps, IceDiscoveryProps, + IceGridDiscoveryProps, IceBoxProps, IceBoxAdminProps, IceGridAdminProps, @@ -1054,6 +1221,7 @@ public final class PropertyNames "Ice", "IceMX", "IceDiscovery", + "IceGridDiscovery", "IceBox", "IceBoxAdmin", "IceGridAdmin", diff --git a/java/test/IceDiscovery/simple/run.py b/java/test/IceDiscovery/simple/run.py index e6e41d07d58..d1581a0663c 100755 --- a/java/test/IceDiscovery/simple/run.py +++ b/java/test/IceDiscovery/simple/run.py @@ -28,14 +28,7 @@ num = 3 args = " --Ice.Plugin.IceDiscovery=IceDiscovery:IceDiscovery.PluginFactory" args += " --IceDiscovery.Timeout=30" args += " --IceDiscovery.RetryCount=1" -if TestUtil.ipv6: - # - # Don't set the interface for the multicast datagrams, this doesn't - # work with some Linux distributions (CentOS 6.x) - # - #args += " --IceDiscovery.Address=\"ff15::1:1\" --IceDiscovery.Interface=\"::1\"" - args += " --IceDiscovery.Address=\"ff15::1:1\"" -else: +if not TestUtil.ipv6: args += " --IceDiscovery.Interface=127.0.0.1" serverProc = [] diff --git a/java/test/IceGrid/simple/AllTests.java b/java/test/IceGrid/simple/AllTests.java index 88afceacae0..c8d63eb541e 100644 --- a/java/test/IceGrid/simple/AllTests.java +++ b/java/test/IceGrid/simple/AllTests.java @@ -141,7 +141,7 @@ public class AllTests out.println("ok"); IceGrid.RegistryPrx registry = IceGrid.RegistryPrxHelper.checkedCast( - communicator.stringToProxy("IceGrid/Registry")); + communicator.stringToProxy(communicator.getDefaultLocator().ice_getIdentity().category + "/Registry")); test(registry != null); IceGrid.AdminSessionPrx session = null; try diff --git a/js/src/Ice/PropertyNames.js b/js/src/Ice/PropertyNames.js index 2584cb90ea1..aab40f7c01b 100644 --- a/js/src/Ice/PropertyNames.js +++ b/js/src/Ice/PropertyNames.js @@ -6,7 +6,7 @@ // ICE_LICENSE file included in this distribution. // // ********************************************************************** -// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Jun 5 21:19:31 2014 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Wed Jul 9 18:08:33 2014 // IMPORTANT: Do not edit this file -- any edits made here will be lost! diff --git a/scripts/IceGridAdmin.py b/scripts/IceGridAdmin.py index d43452dda19..bca62817559 100644 --- a/scripts/IceGridAdmin.py +++ b/scripts/IceGridAdmin.py @@ -14,12 +14,13 @@ from threading import Thread # # Set nreplicas to a number N to test replication with N replicas. # -#nreplicas=0 -nreplicas=1 +nreplicas=0 +#nreplicas=1 iceGridPort = 12010; nodeOptions = r' --Ice.Warn.Connections=0' + \ + r' --IceGrid.InstanceName=TestIceGrid' + \ r' --IceGrid.Node.Endpoints=default' + \ r' --IceGrid.Node.WaitTime=240' + \ r' --Ice.ProgramName=icegridnode' + \ @@ -34,10 +35,11 @@ nodeOptions = r' --Ice.Warn.Connections=0' + \ r' --Ice.ServerIdleTime=0' registryOptions = r' --Ice.Warn.Connections=0' + \ - r' --IceGrid.Registry.PermissionsVerifier=IceGrid/NullPermissionsVerifier' + \ - r' --IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier' + \ - r' --IceGrid.Registry.SSLPermissionsVerifier=IceGrid/NullSSLPermissionsVerifier' + \ - r' --IceGrid.Registry.AdminSSLPermissionsVerifier=IceGrid/NullSSLPermissionsVerifier' + \ + r' --IceGrid.InstanceName=TestIceGrid' + \ + r' --IceGrid.Registry.PermissionsVerifier=TestIceGrid/NullPermissionsVerifier' + \ + r' --IceGrid.Registry.AdminPermissionsVerifier=TestIceGrid/NullPermissionsVerifier' + \ + r' --IceGrid.Registry.SSLPermissionsVerifier=TestIceGrid/NullSSLPermissionsVerifier' + \ + r' --IceGrid.Registry.AdminSSLPermissionsVerifier=TestIceGrid/NullSSLPermissionsVerifier' + \ r' --IceGrid.Registry.Server.Endpoints=default' + \ r' --IceGrid.Registry.Internal.Endpoints=default' + \ r' --IceGrid.Registry.SessionManager.Endpoints=default' + \ @@ -60,7 +62,7 @@ registryOptions = r' --Ice.Warn.Connections=0' + \ def getDefaultLocatorProperty(): i = 0 - property = '--Ice.Default.Locator="IceGrid/Locator'; + property = '--Ice.Default.Locator="TestIceGrid/Locator'; objrefs = "" while i < nreplicas + 1: objrefs = objrefs + ':default -p ' + str(iceGridPort + i) diff --git a/slice/IceGrid/Discovery.ice b/slice/IceGrid/Discovery.ice new file mode 100644 index 00000000000..9d6e2ec572f --- /dev/null +++ b/slice/IceGrid/Discovery.ice @@ -0,0 +1,29 @@ +// ********************************************************************** +// +// 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 + +#include <IceGrid/Locator.ice> + +module IceGrid +{ + +interface LookupReply +{ + void foundLocator(Locator* prx); +}; + +interface Lookup +{ + idempotent void findLocator(string instanceName, LookupReply* reply); + + Locator* getLocator(); +}; + +}; |