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 /cpp/src | |
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
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/CommunicatorI.h | 1 | ||||
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 8 | ||||
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.cpp | 173 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.h | 3 | ||||
-rw-r--r-- | cpp/src/IceDiscovery/LookupI.cpp | 3 | ||||
-rw-r--r-- | cpp/src/IceDiscovery/PluginI.cpp | 2 | ||||
-rw-r--r-- | cpp/src/IceDiscovery/PluginI.h | 1 | ||||
-rw-r--r-- | cpp/src/IceGrid/Client.cpp | 247 | ||||
-rw-r--r-- | cpp/src/IceGrid/RegistryI.cpp | 101 | ||||
-rw-r--r-- | cpp/src/IceGrid/WellKnownObjectsManager.cpp | 11 | ||||
-rw-r--r-- | cpp/src/IceGrid/WellKnownObjectsManager.h | 3 | ||||
-rw-r--r-- | cpp/src/IceGridLib/.depend | 5 | ||||
-rw-r--r-- | cpp/src/IceGridLib/.depend.mak | 5 | ||||
-rw-r--r-- | cpp/src/IceGridLib/.gitignore | 1 | ||||
-rw-r--r-- | cpp/src/IceGridLib/DiscoveryPluginI.cpp | 472 | ||||
-rw-r--r-- | cpp/src/IceGridLib/DiscoveryPluginI.h | 36 | ||||
-rw-r--r-- | cpp/src/IceGridLib/Makefile | 5 | ||||
-rw-r--r-- | cpp/src/IceGridLib/Makefile.mak | 3 |
19 files changed, 1060 insertions, 22 deletions
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 |