diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-06-28 19:20:18 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-06-28 19:20:18 +0000 |
commit | 75ac12c02d537f38b03567e406cbeccf29226fe0 (patch) | |
tree | 4add4682e2aa8edd9c58f1a23ad3f0ccc8336d02 /cpp | |
parent | Replaced invalid struct name Struct with Structure. (diff) | |
download | ice-75ac12c02d537f38b03567e406cbeccf29226fe0.tar.bz2 ice-75ac12c02d537f38b03567e406cbeccf29226fe0.tar.xz ice-75ac12c02d537f38b03567e406cbeccf29226fe0.zip |
Merged location branch.
Diffstat (limited to 'cpp')
82 files changed, 5093 insertions, 585 deletions
diff --git a/cpp/allTests.py b/cpp/allTests.py index cb5a737f31e..8366de436f5 100755 --- a/cpp/allTests.py +++ b/cpp/allTests.py @@ -35,6 +35,7 @@ tests = [ \ "Ice/objects", \ "Ice/faultTolerance", \ "Ice/locationForward", \ + "Ice/location", \ "IceSSL/configuration", \ "IceSSL/loadPEM", \ "IceSSL/certificateAndKeyParsing", \ diff --git a/cpp/config/IcePackAdmin.py b/cpp/config/IcePackAdmin.py new file mode 100644 index 00000000000..aabd56005fa --- /dev/null +++ b/cpp/config/IcePackAdmin.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2001 +# MutableRealms, Inc. +# Huntsville, AL, USA +# +# All Rights Reserved +# +# ********************************************************************** + +import sys, os, TestUtil + +icePackPort = "0"; + +def startIcePack(toplevel, port): + + global icePackPort + + options = TestUtil.serverOptions.replace("TOPLEVELDIR", toplevel) + + icePackPort = port + + icePack = os.path.join(toplevel, "bin", "icepack") + + print "starting icepack...", + command = icePack + options + ' --nowarn' + \ + r' --IcePack.Locator.Endpoints="default -p ' + icePackPort + ' -t 5000" ' + \ + r' --IcePack.LocatorRegistry.Endpoints=default' + \ + r' --IcePack.Admin.Endpoints=default' + + icePackPipe = os.popen(command) + TestUtil.getServerPid(icePackPipe) + TestUtil.getAdapterReady(icePackPipe) + TestUtil.getAdapterReady(icePackPipe) + print "ok" + return icePackPipe + +def shutdownIcePack(toplevel, icePackPipe): + + global icePackPort + icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") + + options = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + + print "shutting down icepack...", + command = icePackAdmin + options + \ + r' "--Ice.Default.Locator=IcePack/locator:default -p ' + icePackPort + '" ' + \ + r' -e "shutdown" ' + + icePackAdminPipe = os.popen(command) + icePackAdminStatus = icePackAdminPipe.close() + icePackPipe.close() + print "ok" + + if icePackAdminStatus: + TestUtil.killServers() + sys.exit(1) + + +def addServer(toplevel, name, server, serverPwd, serverOptions, serverAdapters): + + global icePackPort + icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") + + options = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + + command = icePackAdmin + options + \ + r' "--Ice.Default.Locator=IcePack/locator:default -p ' + icePackPort + '" ' + \ + r' -e "server add \"' + name + '\\" \\"' + server + '\\" ' + serverPwd + \ + r' options { ' + serverOptions + ' } ' + \ + r' adapters {' + serverAdapters + ' } \" ' + + icePackAdminPipe = os.popen(command) + icePackAdminStatus = icePackAdminPipe.close() + if icePackAdminStatus: + TestUtil.killServers() + sys.exit(1) + +def startServer(toplevel, name): + global icePackPort + icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") + + options = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + + command = icePackAdmin + options + \ + r' "--Ice.Default.Locator=IcePack/locator:default -p ' + icePackPort + '" ' + \ + r' -e "server start \"' + name + '\\""' + + icePackAdminPipe = os.popen(command) + icePackAdminStatus = icePackAdminPipe.close() + if icePackAdminStatus: + TestUtil.killServers() + sys.exit(1) + +def listAdapters(toplevel): + global icePackPort + icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") + + options = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + + command = icePackAdmin + options + \ + r' "--Ice.Default.Locator=IcePack/locator:default -p ' + icePackPort + '" ' + \ + r' -e "adapter list"' + + icePackAdminPipe = os.popen(command) + return icePackAdminPipe + +def removeAdapter(toplevel, name): + + global icePackPort + icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") + + options = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + + command = icePackAdmin + options + \ + r' "--Ice.Default.Locator=IcePack/locator:default -p ' + icePackPort + '" ' + \ + r' -e "adapter remove \"' + name + '\\""' + + icePackAdminPipe = os.popen(command) + icePackAdminStatus = icePackAdminPipe.close() + if icePackAdminStatus: + TestUtil.killServers() + sys.exit(1) + diff --git a/cpp/config/TestUtil.py b/cpp/config/TestUtil.py index 2ee25fc35e6..1631ae35fec 100644 --- a/cpp/config/TestUtil.py +++ b/cpp/config/TestUtil.py @@ -131,7 +131,7 @@ def getAdapterReady(serverPipe): killServers() sys.exit(1) -def clientServerTest(toplevel, name): +def clientServerTestWithOptions(toplevel, name, additionalServerOptions, additionalClientOptions): testdir = os.path.join(toplevel, "test", name) server = os.path.join(testdir, "server") @@ -141,13 +141,13 @@ def clientServerTest(toplevel, name): updatedClientOptions = clientOptions.replace("TOPLEVELDIR", toplevel) print "starting server...", - serverPipe = os.popen(server + updatedServerOptions) + serverPipe = os.popen(server + updatedServerOptions + additionalServerOptions) getServerPid(serverPipe) getAdapterReady(serverPipe) print "ok" print "starting client...", - clientPipe = os.popen(client + updatedClientOptions) + clientPipe = os.popen(client + updatedClientOptions + additionalClientOptions) print "ok" for output in clientPipe.xreadlines(): @@ -160,7 +160,12 @@ def clientServerTest(toplevel, name): killServers() sys.exit(1) -def mixedClientServerTest(toplevel, name): +def clientServerTest(toplevel, name): + + clientServerTestWithOptions(toplevel, name, "", "") + + +def mixedClientServerTestWithOptions(toplevel, name, additionalServerOptions, additionalClientOptions): testdir = os.path.join(toplevel, "test", name) server = os.path.join(testdir, "server") @@ -170,13 +175,13 @@ def mixedClientServerTest(toplevel, name): updatedClientOptions = updatedServerOptions print "starting server...", - serverPipe = os.popen(server + updatedServerOptions) + serverPipe = os.popen(server + updatedServerOptions + additionalServerOptions) getServerPid(serverPipe) getAdapterReady(serverPipe) print "ok" print "starting client...", - clientPipe = os.popen(client + updatedClientOptions) + clientPipe = os.popen(client + updatedClientOptions + additionalClientOptions) getServerPid(clientPipe) getAdapterReady(clientPipe) print "ok" @@ -191,7 +196,11 @@ def mixedClientServerTest(toplevel, name): killServers() sys.exit(1) -def collocatedTest(toplevel, name): +def mixedClientServerTest(toplevel, name): + + mixedClientServerTestWithOptions(toplevel, name, "", "") + +def collocatedTestWithOptions(toplevel, name, additionalOptions): testdir = os.path.join(toplevel, "test", name) collocated = os.path.join(testdir, "collocated") @@ -199,7 +208,7 @@ def collocatedTest(toplevel, name): updatedCollocatedOptions = collocatedOptions.replace("TOPLEVELDIR", toplevel) print "starting collocated...", - collocatedPipe = os.popen(collocated + updatedCollocatedOptions) + collocatedPipe = os.popen(collocated + updatedCollocatedOptions + additionalOptions) print "ok" for output in collocatedPipe.xreadlines(): @@ -211,6 +220,10 @@ def collocatedTest(toplevel, name): killServers() sys.exit(1) +def collocatedTest(toplevel, name): + + collocatedTestWithOptions(toplevel, name, "") + def cleanDbDir(path): files = os.listdir(path) diff --git a/cpp/doc/Makefile b/cpp/doc/Makefile index 22a33d7535b..879c890e011 100644 --- a/cpp/doc/Makefile +++ b/cpp/doc/Makefile @@ -22,6 +22,7 @@ SLICEFILES = ../slice/Ice/BuiltinSequences.ice \ ../slice/Ice/Current.ice \ ../slice/Ice/Identity.ice \ ../slice/Ice/LocalException.ice \ + ../slice/Ice/Locator.ice \ ../slice/Ice/Logger.ice \ ../slice/Ice/ObjectAdapter.ice \ ../slice/Ice/ObjectFactory.ice \ diff --git a/cpp/doc/Properties.sgml b/cpp/doc/Properties.sgml index 37ce1ceca6a..2a3ef3fc241 100644 --- a/cpp/doc/Properties.sgml +++ b/cpp/doc/Properties.sgml @@ -148,7 +148,7 @@ Ice.Adapter.<replaceable>name</replaceable>.Router=<replaceable>router</replacea <section> <title>Description</title> <para> -Specifies a router (as stingified proxy to the &Glacier; router +Specifies a router (as stringified proxy to the &Glacier; router control interface) for the object adapter with the name <replaceable>name</replaceable>. By doing so, the object adapter can receive callbacks from this router, using connections which are @@ -162,6 +162,24 @@ router. </para></note> </section> </section> +<section><title>Ice.Adapter.<replaceable>name</replaceable>.Locator</title> +<section><title>Synopsis</title> +<synopsis> +Ice.Adapter.<replaceable>name</replaceable>.Locator=<replaceable>num</replaceable> +</synopsis> +</section> +<section> +<title>Description</title> +<para> +Specifies a locator (as stringified proxy to the &Ice; locator +interface) for the object adapter with the name +<replaceable>name</replaceable>. By doing so, the object adapter will +register itself and its endpoints with the locator registry from this +locator. +</para> +</section> +</section> + <section><title>Ice.PrintAdapterReady</title> <section><title>Synopsis</title> <synopsis> @@ -304,6 +322,25 @@ router. </section> </section> +<section><title>Ice.Default.Locator</title> +<section><title>Synopsis</title> +<synopsis> +Ice.Default.Locator=<replaceable>locator</replaceable> +</synopsis> +</section> +<section> +<title>Description</title> +<para> +Specifies a default locator (as stingified proxy to the &Ice; locator +interface) which is to be used for all proxies and object adapters unless +the locator is overwritten with a proxy's +<literal>ice_locator()</literal> operation or with an object adapter +<literal>Ice.Adapter.<replaceable>name</replaceable>.Locator</literal> +property. The default value is no locator. +</para> +</section> +</section> + <section><title>Ice.Override.Timeout</title> <section><title>Synopsis</title> <synopsis> @@ -714,18 +751,87 @@ There are no default values for these properties. <section><title>&IcePack; Properties</title> <!-- ********************************************************************** --> -<section><title>IcePack.Admin.Endpoints, IcePack.Forward.Endpoints</title> +<section><title>IcePack.Locator.Endpoints,IcePack.Locator.Identity</title> +<section><title>Synopsis</title> +<synopsis> +IcePack.Locator.Endpoints=<replaceable>endpoints</replaceable> +IcePack.Locator.Identity=<replaceable>identity</replaceable> +</synopsis> +</section> +<section> +<title>Description</title> +<para> +Defines the endpoints and identity of the &IcePack; locator +interface. The locator endpoints must be accessible to &Ice; clients +that are using &IcePack; to locate objects. +</para> +<para>The default value for <literal>IcePack.Locator.Identity</literal> +is <literal>IcePack/locator</literal>. +</para> +</section> + +</section> + +<section><title>IcePack.LocatorRegistry.Endpoints,IcePack.LocatorRegistry.Identity</title> +<section><title>Synopsis</title> +<synopsis> +IcePack.LocatorRegistry.Endpoints=<replaceable>endpoints</replaceable> +IcePack.LocatorRegistry.Identity=<replaceable>identity</replaceable> +</synopsis> +</section> +<section> +<title>Description</title> +<para> +Defines the endpoints and identity of the &IcePack; locator registry +interface. The locator registry endpoints must be accessible to &Ice; +servers that are using &IcePack; to register their object adapters. +</para> +<para>The default value for +<literal>IcePack.LocatorRegistry.Identity</literal> +is <literal>IcePack/locatorregistry</literal>. +</para> +</section> + +</section> + +<section><title>IcePack.Admin.Endpoints,IcePack.Admin.Identity</title> <section><title>Synopsis</title> <synopsis> IcePack.Admin.Endpoints=<replaceable>endpoints</replaceable> -IcePack.Forward.Endpoints=<replaceable>endpoints</replaceable> +IcePack.Admin.Identity=<replaceable>identity</replaceable> +</synopsis> +</section> +<section> +<title>Description</title> +<para> +Defines the optional administrative endpoints and identity of the +&IcePack; admin interface. The administrative endpoints must be +accessible to clients which are using the &IcePack; administrative +interface such as the &IcePack; administrative tool. +</para> +<para>The default value for IcePack.Admin.Identity is +<literal>IcePack/admin</literal>. +</para> +<note><para>Allowing access to the &IcePack; admin interface is a +security risk! If you don't specify the administrative endpoints the +admin interface will be disabled.</para></note> +</section> +</section> + +<section><title>IcePack.Activation.WaitTime</title> +<section><title>Synopsis</title> +<synopsis> +IcePack.Activation.WaitTime=<replaceable>num</replaceable> </synopsis> </section> <section> <title>Description</title> <para> -Defines the endpoints of the &IcePack; administrative interface and of -the &IcePack; forwarder. +Defines the interval in seconds that &IcePack; will wait for the +server to register its adapters. If the server didn't register its +adapters during this time interval and a client is waiting for the +activation of one of the server object adapters, &IcePack; will return +empty endpoints to the client. The default value is 10 seconds. </para> </section> </section> diff --git a/cpp/doc/ProxiesEndpoints.sgml b/cpp/doc/ProxiesEndpoints.sgml index b06c48d38bf..b550b131e85 100644 --- a/cpp/doc/ProxiesEndpoints.sgml +++ b/cpp/doc/ProxiesEndpoints.sgml @@ -25,7 +25,10 @@ All Rights Reserved <arg>-s</arg> <arg>-c</arg> </group> +<group> +<arg choice=plain> @ <replaceable>adapter_name</replaceable></arg> <arg choice=plain> : <replaceable>endpoints</replaceable></arg> +</group> </cmdsynopsis> </section> diff --git a/cpp/include/Ice/Proxy.h b/cpp/include/Ice/Proxy.h index 81d438c7391..48dd68a33ba 100644 --- a/cpp/include/Ice/Proxy.h +++ b/cpp/include/Ice/Proxy.h @@ -21,6 +21,7 @@ #include <Ice/ObjectAdapterF.h> #include <Ice/ReferenceF.h> //#include <Ice/RouterF.h> // Can't include RouterF.h here, otherwise we have cyclic includes +//#include <Ice/LocatorF.h> // Can't include RouterF.h here, otherwise we have cyclic includes #include <Ice/Current.h> namespace IceProxy @@ -30,6 +31,7 @@ namespace Ice { class Router; +class Locator; } @@ -44,12 +46,19 @@ ICE_API void decRef(::IceProxy::Ice::Router*); ICE_API void checkedCast(const ::Ice::ObjectPrx&, const ::std::string&, ProxyHandle< ::IceProxy::Ice::Router>&); ICE_API void uncheckedCast(const ::Ice::ObjectPrx&, const ::std::string&, ProxyHandle< ::IceProxy::Ice::Router>&); +ICE_API void incRef(::IceProxy::Ice::Locator*); +ICE_API void decRef(::IceProxy::Ice::Locator*); + +ICE_API void checkedCast(const ::Ice::ObjectPrx&, const ::std::string&, ProxyHandle< ::IceProxy::Ice::Locator>&); +ICE_API void uncheckedCast(const ::Ice::ObjectPrx&, const ::std::string&, ProxyHandle< ::IceProxy::Ice::Locator>&); + } namespace Ice { typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::Router> RouterPrx; +typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::Locator> LocatorPrx; class LocalException; class LocationForward; @@ -90,6 +99,7 @@ public: ::Ice::ObjectPrx ice_compress(bool) const; ::Ice::ObjectPrx ice_timeout(int) const; ::Ice::ObjectPrx ice_router(const ::Ice::RouterPrx&) const; + ::Ice::ObjectPrx ice_locator(const ::Ice::LocatorPrx&) const; ::Ice::ObjectPrx ice_default() const; void ice_flush(); // Flush batch messages @@ -109,11 +119,12 @@ protected: private: - void setup(const ::IceInternal::ReferencePtr&); + void setup(const ::IceInternal::ReferencePtr&, const ::std::vector<int>&); friend class ::IceInternal::ProxyFactory; ::IceInternal::ReferencePtr _reference; ::IceInternal::Handle< ::IceDelegate::Ice::Object> _delegate; + ::std::vector<int> _retryIntervals; }; } } diff --git a/cpp/slice/Ice/Locator.ice b/cpp/slice/Ice/Locator.ice new file mode 100644 index 00000000000..61a943b8f4a --- /dev/null +++ b/cpp/slice/Ice/Locator.ice @@ -0,0 +1,82 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_LOCATOR_ICE +#define ICE_LOCATOR_ICE + +module Ice +{ + +interface LocatorRegistry; + +/** + * + * The &Ice; locator interface. This interface is used by clients to + * lookup adapters and by servers to get the locator registry. + * + * <note><para> The [Locator] interface is intended to be used by + * &Ice; internals and by locator implementations. Regular user code + * should not attempt to use any functionality of this interface + * directly.</para></note> + * + **/ +interface Locator +{ + /** + * + * Find an adapter by name and return the adapter proxy (a dummy + * direct proxy created with the adapter). + * + * @param name The adapter name. + * + * @return The adapter proxy or null if the adapter is not found. + * + **/ + ["nonmutating"] Object* findAdapterByName(string name); + + /** + * + * Get the locator registry. + * + * @return The locator registry. + * + **/ + ["nonmutating"] LocatorRegistry* getRegistry(); +}; + +/** + * + * The &Ice; locator registry interface. This interface is used by + * servers to register adapters with the locator. + * + * <note><para> The [LocatorRegistry] interface is intended to be used + * by &Ice; internals and by locator implementations. Regular user + * code should not attempt to use any functionality of this interface + * directly.</para></note> + * + **/ +interface LocatorRegistry +{ + /** + * + * Add the adapter and its endpoints to the locator registry. + * + * @param name The adapter name. + * + * @param proxy The adapter proxy (a dummy direct proxy created + * with the adapter). + * + */ + void addAdapter(string name, Object* proxy); +}; + +}; + +#endif diff --git a/cpp/slice/Ice/LocatorF.ice b/cpp/slice/Ice/LocatorF.ice new file mode 100644 index 00000000000..8902120dbfe --- /dev/null +++ b/cpp/slice/Ice/LocatorF.ice @@ -0,0 +1,22 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_LOCATOR_F_ICE +#define ICE_LOCATOR_F_ICE + +module Ice +{ + +interface Locator; +interface LocatorRegistry; + +}; + +#endif diff --git a/cpp/slice/Ice/ObjectAdapter.ice b/cpp/slice/Ice/ObjectAdapter.ice index 8861dd266c0..97ad3b2f372 100644 --- a/cpp/slice/Ice/ObjectAdapter.ice +++ b/cpp/slice/Ice/ObjectAdapter.ice @@ -14,6 +14,7 @@ #include <Ice/CommunicatorF.ice> #include <Ice/ServantLocatorF.ice> #include <Ice/RouterF.ice> +#include <Ice/LocatorF.ice> #include <Ice/Identity.ice> module Ice @@ -313,6 +314,26 @@ local interface ObjectAdapter /** * + * Create a "direct proxy" that matches this object adapter and + * the given identity. A direct proxy always contains the current + * adapter endpoints. + * + * <note><para> This operation is intended to be used by locator + * implementations. Regular user code should not attempt to use + * this operation.</para></note> + * + * @param identity The identity for which a proxy is to be created. + * + * @return A proxy that matches the given identity and this object + * adapter. + * + * @see Identity + * + **/ + Object* createDirectProxy(Identity identity); + + /** + * * Create a "reverse proxy" that matches this object adapter and * the given identity. A reverse proxy uses connections that have * been established from a client to this object adapter. @@ -353,6 +374,22 @@ local interface ObjectAdapter * **/ void addRouter(Router* router); + + /** + * Set an &Ice; locator for this object adapter. By doing so, the + * object adapter will register itself with the locator registry + * when it's activated for the first time and the proxies created + * with the object adapter will contain the adapter name instead + * of its endpoints. + * + * @param locator The locator used by this object adapter. + * + * @see createDirectProxy + * @see Locator + * @see LocatorRegistry + * + **/ + void setLocator(Locator* locator); }; }; diff --git a/cpp/slice/Ice/Router.ice b/cpp/slice/Ice/Router.ice index 95ef850d826..d08617fa175 100644 --- a/cpp/slice/Ice/Router.ice +++ b/cpp/slice/Ice/Router.ice @@ -20,9 +20,9 @@ module Ice * [Communicator::setGlobalRouter], or with [ice_router] on specific * proxies. * - * <note><para> The router interface is not intended to be used by - * &Ice; internals and by router implementations. Regular user code - * should not attempt to use any functionality of this interface + * <note><para> The router interface is intended to be used by &Ice; + * internals and by router implementations. Regular user code should + * not attempt to use any functionality of this interface * directly.</para></note> * **/ diff --git a/cpp/slice/IcePack/Admin.ice b/cpp/slice/IcePack/Admin.ice index 07c3adca84e..63407e66e77 100644 --- a/cpp/slice/IcePack/Admin.ice +++ b/cpp/slice/IcePack/Admin.ice @@ -11,8 +11,6 @@ #ifndef ICE_PACK_ADMIN_ICE #define ICE_PACK_ADMIN_ICE -#include <Ice/Identity.ice> - /** * * The &Ice; module for object location and activation. @@ -23,54 +21,132 @@ module IcePack /** * + * This exception is raised if an adapter already exists. + * + **/ +exception AdapterExistsException +{ +}; + +/** + * + * This exception is raised if an adapter doesn't exist. + * + **/ +exception AdapterNotExistException +{ +}; + +/** + * + * A sequence of adapter names. + * + **/ +sequence<string> AdapterNames; + +/** + * + * This exception is raised if a server already exists. + * + **/ +exception ServerExistsException +{ +}; + +/** + * + * This exception is raised if a server doesn't exist. + * + **/ +exception ServerNotExistException +{ +}; + +/** + * + * This exception is raised if an operation on a server failed because + * the operation requires the server to be inactive. + * + **/ +exception ServerNotInactiveException +{ +}; + +/** + * * A vector of strings representing command line arguments. * **/ sequence<string> Args; + /** * - * Data describing a server and one or more objects implemented by that - * server. + * An enumeration representing the state of the server. * **/ +enum ServerState +{ + Inactive, + Activating, + Active, + Deactivating, + Destroyed +}; + struct ServerDescription { /** * + * Server name. * The server object or object template. Any non-administrative * &IcePack; request that matches the identity of [obj] will be * forwarded to [obj]. * **/ - Object* obj; + string name; /** * - * The optional server host name. If none is given, no automatic - * activation will be performed. - * - * @see path + * The optional server adapter names. If a client makes a request + * to locate an adapter from the server, the server will be + * automatically started if it's not already active. If empty, no + * automatic activation of the server will be performed. * **/ - string host; + AdapterNames adapters; /** * * The optional server path. If none is given, no automatic - * activation will be performed. + * activation will be performed. This path can be an absolute or + * relative path (be aware of security risks if you use a relative + * path). * - * @see host * @see args + * @see pwd * **/ string path; /** * + * The optional server working directory path. The current or + * working directory of the server will be changed to this path + * when the server is started. + * + * @see path + * @see args + * + **/ + string pwd; + + /** + * * The optional server arguments. * * @see path + * @see pwd * **/ Args args; @@ -78,12 +154,10 @@ struct ServerDescription /** * - * A dictionary of server descriptions. The dictionary key is the &Ice; - * Object identity, and the value is the corresponding server - * description. + * A sequence of server names. * **/ -dictionary<Ice::Identity, ServerDescription> ServerDescriptions; +sequence<string> ServerNames; /** * @@ -96,56 +170,161 @@ class Admin { /** * - * All server descriptions. + * Add a server and the adapters implemented by that server to + * &IcePack;. + * + * @param description The server's description. + * + * @throws ServerExistsException Raised if a server with the same + * name already exists. + * + * @throws AdapterExistsException Raised if an adapter with the + * same name already exists. + * + * @see removeServer * **/ - ServerDescriptions _serverDescriptions; + void addServer(ServerDescription description) + throws ServerExistsException, AdapterExistsException; /** * - * Add a server and objects implemented by that server to &IcePack;. + * Get a server description. * - * @param description The server's description. + * @param name Must match the name of [ServerDescription::name]. + * + * @return The server description. + * + * @throws ServerNotExistException Raised if the server is not + * found. + * + * @see getServerState + * @see getAllServerNames + * + **/ + ["nonmutating"] ServerDescription getServerDescription(string name) + throws ServerNotExistException; + + /** + * + * Get a server state. + * + * @param name Must match the name of [ServerDescription::name]. + * + * @return The server state. + * + * @throws ServerNotExistException Raised if the server is not + * found. + * + * @see getServerDescription + * @see getAllServerNames + * + **/ + ["nonmutating"] ServerState getServerState(string name) + throws ServerNotExistException; + + /** + * + * Start a server. + * + * @param name Must match the name of [ServerDescription::name]. + * + * @return True if the server was successfully started, false + * otherwise. + * + * @throws ServerNotExistException Raised if the server is not + * found. + * + **/ + bool startServer(string name) + throws ServerNotExistException; + + /** + * + * Remove a server and the adapters implemented by that server + * from &IcePack;. The server needs to be inactive for this + * operation to succeed. + * + * @param name Must match the name of the + * [ServerDescription::name]. + * + * @throws ServerNotExistException Raised if the server is not + * found. + * + * @throws SeverNotInactiveException Raised if the server is not + * in the inactive state. + * + * @see addServer + * + **/ + void removeServer(string name) + throws ServerNotExistException, ServerNotInactiveException; + + /** + * + * Get all the server names registered with &IcePack;. + * + * @return The server names. + * + * @see getServerDescription + * @see getServerState + * + **/ + ["nonmutating"] ServerNames getAllServerNames(); + + /** + * + * Add an adapter with a list of endpoints to &IcePack;. + * + * @param name The adapter's name. + * + * @param endpoints The list of endpoints for the adapter. + * + * @throws AdapterExistsException Raised if an adapter with the + * same name already exists. * - * @see remove + * @see removeAdapter * **/ - void add(ServerDescription description); + void addAdapterWithEndpoints(string name, string endpoints) + throws AdapterExistsException; /** * - * Remove a server and objects implemented by that server from &IcePack;. + * Remove an adapter from &IcePack;. * - * @param identity Must match the identity of the - * [ServerDescription::object]. + * @param name The adapter name. * - * @see add + * @throws AdapterNotExistException Raised if the adapter is not + * found. * **/ - void remove(Ice::Identity identity); + void removeAdapter(string name) + throws AdapterNotExistException; /** * - * Find a server and objects implemented by that server from &IcePack;. + * Get the list of endpoints for an adapter. * - * @param identity Must match the identity of the - * [ServerDescription::object]. + * @param name The adapter name. * - * @return The server description, or null if no description was found. + * @return The stringified adapter endpoints. * - * @see add + * @throws AdapterNotExistException Raised if the adapter is not + * found. * **/ - ServerDescription find(Ice::Identity identity); + ["nonmutating"] string getAdapterEndpoints(string name) + throws AdapterNotExistException; /** * - * Get all server descriptions in &IcePack;. + * Get all the adapter names registered with &IcePack;. * - * @return The descriptions of all servers. + * @return The adapter names. * **/ - ServerDescriptions getAll(); + ["nonmutating"] AdapterNames getAllAdapterNames(); /** * diff --git a/cpp/src/Ice/.depend b/cpp/src/Ice/.depend index a269e6483fa..c83ee6e9894 100644 --- a/cpp/src/Ice/.depend +++ b/cpp/src/Ice/.depend @@ -1,5 +1,5 @@ Initialize.o: Initialize.cpp ../Ice/CommunicatorI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../Ice/ThreadPoolF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/Communicator.h ../../include/Ice/LoggerF.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../Ice/PropertiesI.h ../../include/Ice/Properties.h ../../include/Ice/LocalException.h -Application.o: Application.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h +Application.o: Application.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h Exception.o: Exception.cpp ../../include/Ice/Exception.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/LocalException.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Identity.h ../Ice/Network.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/IdentityUtil.h ../../include/Ice/Plugin.h LocalException.o: LocalException.cpp ../../include/Ice/LocalException.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h Properties.o: Properties.cpp ../../include/Ice/Properties.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h @@ -10,55 +10,57 @@ LoggerI.o: LoggerI.cpp ../Ice/LoggerI.h ../../include/IceUtil/Mutex.h ../../incl SysLoggerI.o: SysLoggerI.cpp ../Ice/SysLoggerI.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/Logger.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h Stream.o: Stream.cpp ../../include/Ice/Stream.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h BuiltinSequences.o: BuiltinSequences.cpp ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h -BasicStream.o: BasicStream.cpp ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Object.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../Ice/ProxyFactory.h ../../include/Ice/ObjectFactory.h ../Ice/ObjectFactoryManager.h ../../include/Ice/UserExceptionFactory.h ../Ice/UserExceptionFactoryManager.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/LocalException.h +BasicStream.o: BasicStream.cpp ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Object.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../Ice/ProxyFactory.h ../../include/Ice/ObjectFactory.h ../Ice/ObjectFactoryManager.h ../../include/Ice/UserExceptionFactory.h ../Ice/UserExceptionFactoryManager.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/LocalException.h DefaultsAndOverrides.o: DefaultsAndOverrides.cpp ../Ice/DefaultsAndOverrides.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/DefaultsAndOverridesF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/PropertiesF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../Ice/Network.h TraceLevels.o: TraceLevels.cpp ../Ice/TraceLevels.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/PropertiesF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h -TraceUtil.o: TraceUtil.cpp ../Ice/TraceUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/TraceLevelsF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/InstanceF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Object.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Protocol.h ../../include/Ice/IdentityUtil.h -Instance.o: Instance.cpp ../Ice/Instance.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../Ice/RouterInfo.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/RoutingTableF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../Ice/EventHandlerF.h ../Ice/ConnectionFactory.h ../Ice/AcceptorF.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/ObjectFactoryManager.h ../Ice/UserExceptionFactoryManager.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/LocalException.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../Ice/LoggerI.h ../../include/Ice/Logger.h ../Ice/Network.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/TcpEndpoint.h ../Ice/Endpoint.h ../Ice/ConnectorF.h ../../include/Ice/EndpointFactory.h ../Ice/UdpEndpoint.h ../Ice/PluginManagerI.h ../../include/Ice/Plugin.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/Initialize.h ../Ice/SysLoggerI.h +TraceUtil.o: TraceUtil.cpp ../Ice/TraceUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/TraceLevelsF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/InstanceF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Object.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Protocol.h ../../include/Ice/IdentityUtil.h +Instance.o: Instance.cpp ../Ice/Instance.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../Ice/RouterInfo.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/RoutingTableF.h ../Ice/LocatorInfo.h ../../include/Ice/LocatorF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../Ice/EventHandlerF.h ../Ice/ConnectionFactory.h ../Ice/AcceptorF.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/ObjectFactoryManager.h ../Ice/UserExceptionFactoryManager.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/LocalException.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../Ice/LoggerI.h ../../include/Ice/Logger.h ../Ice/Network.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/TcpEndpoint.h ../Ice/Endpoint.h ../Ice/ConnectorF.h ../../include/Ice/EndpointFactory.h ../Ice/UdpEndpoint.h ../Ice/PluginManagerI.h ../../include/Ice/Plugin.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/Communicator.h ../../include/Ice/Initialize.h ../Ice/SysLoggerI.h Communicator.o: Communicator.cpp ../../include/Ice/Communicator.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LoggerF.h ../../include/Ice/PropertiesF.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h -CommunicatorI.o: CommunicatorI.cpp ../Ice/CommunicatorI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../Ice/ThreadPoolF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/Communicator.h ../../include/Ice/LoggerF.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../Ice/Instance.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/Properties.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../Ice/EventHandlerF.h ../Ice/ObjectFactoryManager.h ../Ice/UserExceptionFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LocalException.h +CommunicatorI.o: CommunicatorI.cpp ../Ice/CommunicatorI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../Ice/ThreadPoolF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/Communicator.h ../../include/Ice/LoggerF.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../Ice/Instance.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/Properties.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../../include/Ice/LocatorF.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../Ice/EventHandlerF.h ../Ice/ObjectFactoryManager.h ../Ice/UserExceptionFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LocalException.h ../Ice/DefaultsAndOverrides.h ObjectFactory.o: ObjectFactory.cpp ../../include/Ice/ObjectFactory.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ObjectFactoryManager.o: ObjectFactoryManager.cpp ../Ice/ObjectFactoryManager.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/ObjectFactoryManagerF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h -ObjectAdapter.o: ObjectAdapter.cpp ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h -ObjectAdapterI.o: ObjectAdapterI.cpp ../../include/IceUtil/UUID.h ../../include/IceUtil/Config.h ../Ice/ObjectAdapterI.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../../include/Ice/ServantLocator.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/ProxyFactory.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/ConnectionFactory.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/LoggerUtil.h -ObjectAdapterFactory.o: ObjectAdapterFactory.cpp ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../../include/IceUtil/RecMutex.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../Ice/Instance.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h +ObjectAdapter.o: ObjectAdapter.cpp ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h +ObjectAdapterI.o: ObjectAdapterI.cpp ../../include/IceUtil/UUID.h ../../include/IceUtil/Config.h ../Ice/ObjectAdapterI.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/LocatorInfoF.h ../../include/Ice/ServantLocator.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/ProxyFactory.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/ConnectionFactory.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../Ice/LocatorInfo.h ../../include/Ice/Locator.h ../../include/Ice/LoggerUtil.h +ObjectAdapterFactory.o: ObjectAdapterFactory.cpp ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/LocatorInfoF.h ../../include/IceUtil/RecMutex.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../Ice/Instance.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ServantLocator.o: ServantLocator.cpp ../../include/Ice/ServantLocator.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h UserExceptionFactory.o: UserExceptionFactory.cpp ../../include/Ice/UserExceptionFactory.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h UserExceptionFactoryManager.o: UserExceptionFactoryManager.cpp ../Ice/UserExceptionFactoryManager.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h Endpoint.o: Endpoint.cpp ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h EndpointFactory.o: EndpointFactory.cpp ../../include/Ice/EndpointFactory.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/EndpointFactoryF.h -EndpointFactoryManager.o: EndpointFactoryManager.cpp ../Ice/EndpointFactoryManager.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/EndpointFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/UnknownEndpoint.h ../../include/Ice/EndpointFactory.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h -TcpEndpoint.o: TcpEndpoint.cpp ../Ice/TcpEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../Ice/Network.h ../Ice/TcpAcceptor.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Acceptor.h ../Ice/TcpConnector.h ../Ice/Connector.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h -UdpEndpoint.o: UdpEndpoint.cpp ../Ice/UdpEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../Ice/Network.h ../Ice/UdpTransceiver.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h -UnknownEndpoint.o: UnknownEndpoint.cpp ../Ice/UnknownEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h -Reference.o: Reference.cpp ../Ice/Reference.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/ReferenceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../Ice/ReferenceFactoryF.h ../../include/Ice/EndpointF.h ../../include/Ice/InstanceF.h ../../include/Ice/RouterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactory.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/IdentityUtil.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/Router.h -ReferenceFactory.o: ReferenceFactory.cpp ../Ice/ReferenceFactory.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/ReferenceFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../Ice/Reference.h ../../include/Ice/ReferenceF.h ../../include/Ice/EndpointF.h ../../include/Ice/InstanceF.h ../../include/Ice/RouterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/RouterInfoF.h ../Ice/ProxyFactory.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/IdentityUtil.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h +EndpointFactoryManager.o: EndpointFactoryManager.cpp ../Ice/EndpointFactoryManager.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/EndpointFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/UnknownEndpoint.h ../../include/Ice/EndpointFactory.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h +TcpEndpoint.o: TcpEndpoint.cpp ../Ice/TcpEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../Ice/Network.h ../Ice/TcpAcceptor.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Acceptor.h ../Ice/TcpConnector.h ../Ice/Connector.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h +UdpEndpoint.o: UdpEndpoint.cpp ../Ice/UdpEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../Ice/Network.h ../Ice/UdpTransceiver.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/DefaultsAndOverrides.h +UnknownEndpoint.o: UnknownEndpoint.cpp ../Ice/UnknownEndpoint.h ../Ice/Endpoint.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/EndpointF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/EndpointFactory.h ../../include/Ice/EndpointFactoryF.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h +Reference.o: Reference.cpp ../Ice/Reference.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/ReferenceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../Ice/ReferenceFactoryF.h ../../include/Ice/EndpointF.h ../../include/Ice/InstanceF.h ../../include/Ice/RouterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactory.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/IdentityUtil.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/Router.h ../Ice/LocatorInfo.h ../../include/Ice/Locator.h +ReferenceFactory.o: ReferenceFactory.cpp ../Ice/ReferenceFactory.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/ReferenceFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../Ice/Reference.h ../../include/Ice/ReferenceF.h ../../include/Ice/EndpointF.h ../../include/Ice/InstanceF.h ../../include/Ice/RouterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ProxyFactory.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/IdentityUtil.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointFactoryF.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../Ice/LocatorInfo.h Identity.o: Identity.cpp ../../include/Ice/Identity.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h IdentityUtil.o: IdentityUtil.cpp ../../include/Ice/IdentityUtil.h ../../include/Ice/Identity.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h Current.o: Current.cpp ../../include/Ice/Current.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h Router.o: Router.cpp ../../include/Ice/Router.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h RouterInfo.o: RouterInfo.cpp ../Ice/RouterInfo.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/RouterInfoF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/RouterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/RoutingTableF.h ../../include/Ice/Router.h ../../include/Ice/RoutingTable.h ../../include/Ice/LocalException.h RoutingTable.o: RoutingTable.cpp ../../include/Ice/RoutingTable.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/RoutingTableF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h -Connection.o: Connection.cpp ../Ice/Connection.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/Ice/ConnectionF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ConnectionFactoryF.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointF.h ../Ice/ThreadPoolF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../Ice/TraceUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/Transceiver.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/RouterF.h ../Ice/Endpoint.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/LocalException.h ../Ice/Protocol.h -ConnectionFactory.o: ConnectionFactory.cpp ../Ice/ConnectionFactory.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/Ice/ConnectionFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ConnectionF.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointF.h ../Ice/AcceptorF.h ../Ice/TransceiverF.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Connection.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../Ice/Transceiver.h ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/Acceptor.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../../include/Ice/ObjectAdapter.h ../Ice/Reference.h ../Ice/Endpoint.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/LocalException.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h +Connection.o: Connection.cpp ../Ice/Connection.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/Ice/ConnectionF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ConnectionFactoryF.h ../../include/Ice/InstanceF.h ../Ice/TransceiverF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointF.h ../Ice/ThreadPoolF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../Ice/TraceUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/Transceiver.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../Ice/Endpoint.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../../include/Ice/LocalException.h ../Ice/Protocol.h +ConnectionFactory.o: ConnectionFactory.cpp ../Ice/ConnectionFactory.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/Ice/ConnectionFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ConnectionF.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointF.h ../Ice/AcceptorF.h ../Ice/TransceiverF.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Connection.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h ../Ice/Transceiver.h ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/Acceptor.h ../Ice/ThreadPool.h ../../include/IceUtil/Thread.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../Ice/Reference.h ../Ice/Endpoint.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/LocalException.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h LocalObject.o: LocalObject.cpp ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/StreamF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h Object.o: Object.cpp ../../include/Ice/Object.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/StreamF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Incoming.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/InstanceF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h -ProxyFactory.o: ProxyFactory.cpp ../Ice/ProxyFactory.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../../include/Ice/ReferenceF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../../include/Ice/RouterF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h -Proxy.o: Proxy.cpp ../../include/Ice/Proxy.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Handle.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../Ice/ProxyFactory.h ../../include/Ice/InstanceF.h ../../include/Ice/Object.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../../include/IceUtil/RecMutex.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../Ice/RouterInfoF.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/Instance.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/ConnectionFactory.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Connection.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../../include/Ice/LocalException.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h -Outgoing.o: Outgoing.cpp ../../include/Ice/Outgoing.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/ConnectionF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../Ice/Connection.h ../../include/IceUtil/RecMutex.h ../../include/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/EndpointF.h ../Ice/ThreadPoolF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/RouterInfoF.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h -Incoming.o: Incoming.cpp ../../include/Ice/Incoming.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/InstanceF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/ServantLocator.h ../../include/Ice/LocalException.h -Direct.o: Direct.cpp ../../include/Ice/Direct.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/ServantLocator.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../Ice/RouterInfoF.h ../../include/Ice/LocalException.h +ProxyFactory.o: ProxyFactory.cpp ../Ice/ProxyFactory.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../../include/Ice/ReferenceF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../../include/Ice/RouterF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocatorF.h ../../include/Ice/Properties.h ../../include/Ice/BuiltinSequences.h +Proxy.o: Proxy.cpp ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Config.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Handle.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../Ice/ProxyFactory.h ../../include/Ice/InstanceF.h ../../include/Ice/Object.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/LocatorInfoF.h ../../include/IceUtil/RecMutex.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../Ice/RouterInfoF.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/Instance.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/ConnectionFactory.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Connection.h ../Ice/RouterInfo.h ../../include/Ice/RoutingTableF.h ../Ice/LocatorInfo.h ../../include/Ice/LocalException.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h +Outgoing.o: Outgoing.cpp ../../include/Ice/Outgoing.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/ConnectionF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/ReferenceF.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../Ice/Connection.h ../../include/IceUtil/RecMutex.h ../../include/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/EndpointF.h ../Ice/ThreadPoolF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h +Incoming.o: Incoming.cpp ../../include/Ice/Incoming.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/InstanceF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/LocalException.h +Direct.o: Direct.cpp ../../include/Ice/Direct.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/CommunicatorF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../../include/Ice/LocalException.h Network.o: Network.cpp ../../include/IceUtil/Mutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/Network.h ../../include/Ice/Config.h ../../include/Ice/LocalException.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Identity.h -ThreadPool.o: ThreadPool.cpp ../Ice/ThreadPool.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Handle.h ../Ice/ThreadPoolF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../Ice/EventHandlerF.h ../Ice/EventHandler.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../Ice/Protocol.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/RouterF.h -EventHandler.o: EventHandler.cpp ../Ice/EventHandler.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/EventHandlerF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/ThreadPoolF.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h +ThreadPool.o: ThreadPool.cpp ../Ice/ThreadPool.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Handle.h ../Ice/ThreadPoolF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../Ice/EventHandlerF.h ../Ice/EventHandler.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/Properties.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../Ice/Protocol.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h +EventHandler.o: EventHandler.cpp ../Ice/EventHandler.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/EventHandlerF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/ThreadPoolF.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h Connector.o: Connector.cpp ../Ice/Connector.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/ConnectorF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../Ice/TransceiverF.h Acceptor.o: Acceptor.cpp ../Ice/Acceptor.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/AcceptorF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../Ice/TransceiverF.h Transceiver.o: Transceiver.cpp ../Ice/Transceiver.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h -TcpConnector.o: TcpConnector.cpp ../Ice/TcpConnector.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../Ice/Network.h -TcpAcceptor.o: TcpAcceptor.cpp ../Ice/TcpAcceptor.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../Ice/Network.h -TcpTransceiver.o: TcpTransceiver.cpp ../Ice/TcpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h -UdpTransceiver.o: UdpTransceiver.cpp ../Ice/UdpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h +TcpConnector.o: TcpConnector.cpp ../Ice/TcpConnector.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../Ice/Network.h +TcpAcceptor.o: TcpAcceptor.cpp ../Ice/TcpAcceptor.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../Ice/Network.h +TcpTransceiver.o: TcpTransceiver.cpp ../Ice/TcpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h +UdpTransceiver.o: UdpTransceiver.cpp ../Ice/UdpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h DynamicLibrary.o: DynamicLibrary.cpp ../../include/Ice/DynamicLibrary.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/IceUtil/Shared.h Plugin.o: Plugin.cpp ../../include/Ice/Plugin.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Stream.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/BuiltinSequences.h -PluginManagerI.o: PluginManagerI.cpp ../Ice/PluginManagerI.h ../../include/Ice/Plugin.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../../include/Ice/InstanceF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/DynamicLibrary.h ../../include/Ice/Properties.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Initialize.h -ProtocolPluginFacade.o: ProtocolPluginFacade.cpp ../../include/Ice/ProtocolPluginFacade.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/ProtocolPluginFacadeF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointFactoryF.h ../../include/Ice/InstanceF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointF.h ../Ice/TraceLevels.h ../../include/Ice/Initialize.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/DefaultsAndOverrides.h +PluginManagerI.o: PluginManagerI.cpp ../Ice/PluginManagerI.h ../../include/Ice/Plugin.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Identity.h ../../include/Ice/InstanceF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/DynamicLibrary.h ../../include/Ice/Properties.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Initialize.h +ProtocolPluginFacade.o: ProtocolPluginFacade.cpp ../../include/Ice/ProtocolPluginFacade.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/Ice/ProtocolPluginFacadeF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/EndpointFactoryF.h ../../include/Ice/InstanceF.h ../Ice/Instance.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/RecMutex.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/EndpointFactoryManager.h ../../include/Ice/EndpointF.h ../Ice/TraceLevels.h ../../include/Ice/Initialize.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ConnectionF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../Ice/DefaultsAndOverrides.h +Locator.o: Locator.cpp ../../include/Ice/Locator.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h +LocatorInfo.o: LocatorInfo.cpp ../Ice/LocatorInfo.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Lock.h ../Ice/LocatorInfoF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/Config.h ../../include/Ice/LocatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/Locator.h ../../include/Ice/LocalException.h ../Ice/Instance.h ../../include/IceUtil/RecMutex.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/ConnectionFactoryF.h ../Ice/ObjectFactoryManagerF.h ../Ice/UserExceptionFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../../include/Ice/PluginF.h ../Ice/TraceLevels.h ../../include/Ice/LoggerUtil.h ../Ice/Endpoint.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/Reference.h ../../include/Ice/RouterF.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/IdentityUtil.h diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp index 03777f69253..abaa3c614c2 100644 --- a/cpp/src/Ice/CommunicatorI.cpp +++ b/cpp/src/Ice/CommunicatorI.cpp @@ -19,6 +19,7 @@ #include <Ice/ObjectAdapterFactory.h> #include <Ice/LoggerUtil.h> #include <Ice/LocalException.h> +#include <Ice/DefaultsAndOverrides.h> using namespace std; using namespace Ice; @@ -34,6 +35,7 @@ Ice::CommunicatorI::destroy() _instance->objectAdapterFactory()->shutdown(); _instance->destroy(); _instance = 0; + } } @@ -92,18 +94,19 @@ Ice::CommunicatorI::createObjectAdapter(const string& name) { throw CommunicatorDestroyedException(__FILE__, __LINE__); } - + ObjectAdapterPtr adapter = createObjectAdapterFromProperty(name, "Ice.Adapter." + name + ".Endpoints"); - + string router = _instance->properties()->getProperty("Ice.Adapter." + name + ".Router"); if(!router.empty()) { adapter->addRouter(RouterPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(router))); } - if(!_serverThreadPool) // Lazy initialization of _serverThreadPool. + string locator = _instance->properties()->getProperty("Ice.Adapter." + name + ".Locator"); + if(!locator.empty()) { - _serverThreadPool = _instance->serverThreadPool(); + adapter->setLocator(LocatorPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(locator))); } return adapter; @@ -131,9 +134,15 @@ Ice::CommunicatorI::createObjectAdapterWithEndpoints(const string& name, const s { throw CommunicatorDestroyedException(__FILE__, __LINE__); } - + ObjectAdapterPtr adapter = _instance->objectAdapterFactory()->createObjectAdapter(name, endpts); + string locator = _instance->defaultsAndOverrides()->defaultLocator; + if(!locator.empty()) + { + adapter->setLocator(LocatorPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(locator))); + } + if(!_serverThreadPool) // Lazy initialization of _serverThreadPool. { _serverThreadPool = _instance->serverThreadPool(); diff --git a/cpp/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp index f04d9f2cb87..31f3972ea6f 100644 --- a/cpp/src/Ice/DefaultsAndOverrides.cpp +++ b/cpp/src/Ice/DefaultsAndOverrides.cpp @@ -50,4 +50,6 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro const_cast<bool&>(overrideComppress) = true; const_cast<bool&>(overrideComppressValue) = atoi(value.c_str()); } + + const_cast<string&>(defaultLocator) = properties->getProperty("Ice.Default.Locator"); } diff --git a/cpp/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h index 38e39c8e2a0..6376a27a978 100644 --- a/cpp/src/Ice/DefaultsAndOverrides.h +++ b/cpp/src/Ice/DefaultsAndOverrides.h @@ -27,6 +27,7 @@ public: std::string defaultHost; std::string defaultProtocol; std::string defaultRouter; + std::string defaultLocator; bool overrideTimeout; Ice::Int overrideTimeoutValue; diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index 62bc82a4486..fd3e2a06c1c 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -12,6 +12,7 @@ #include <Ice/TraceLevels.h> #include <Ice/DefaultsAndOverrides.h> #include <Ice/RouterInfo.h> +#include <Ice/LocatorInfo.h> #include <Ice/ReferenceFactory.h> #include <Ice/ProxyFactory.h> #include <Ice/ThreadPool.h> @@ -28,6 +29,7 @@ #include <Ice/TcpEndpoint.h> #include <Ice/UdpEndpoint.h> #include <Ice/PluginManagerI.h> +#include <Ice/Communicator.h> #include <Ice/Initialize.h> #ifndef _WIN32 @@ -121,6 +123,13 @@ IceInternal::Instance::routerManager() return _routerManager; } +LocatorManagerPtr +IceInternal::Instance::locatorManager() +{ + IceUtil::RecMutex::Lock sync(*this); + return _locatorManager; +} + ReferenceFactoryPtr IceInternal::Instance::referenceFactory() { @@ -308,6 +317,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, int& argc, _routerManager = new RouterManager; + _locatorManager = new LocatorManager; + _referenceFactory = new ReferenceFactory(this); _proxyFactory = new ProxyFactory(this); @@ -320,12 +331,6 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, int& argc, _pluginManager = new PluginManagerI(this); - if(!_defaultsAndOverrides->defaultRouter.empty()) - { - _referenceFactory->setDefaultRouter( - RouterPrx::uncheckedCast(_proxyFactory->stringToProxy(_defaultsAndOverrides->defaultRouter))); - } - _outgoingConnectionFactory = new OutgoingConnectionFactory(this); _servantFactoryManager = new ObjectFactoryManager(); @@ -357,6 +362,7 @@ IceInternal::Instance::~Instance() assert(!_clientThreadPool); assert(!_serverThreadPool); assert(!_routerManager); + assert(!_locatorManager); assert(!_endpointFactoryManager); assert(!_pluginManager); @@ -405,6 +411,23 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) assert(pluginManagerImpl); pluginManagerImpl->loadPlugins(argc, argv); + // + // Get default router and locator proxies. Don't move this + // initialization before the plug-in initialization!!! The proxies + // might depend on endpoint factories to be installed by plug-ins. + // + if(!_defaultsAndOverrides->defaultRouter.empty()) + { + _referenceFactory->setDefaultRouter( + RouterPrx::uncheckedCast(_proxyFactory->stringToProxy(_defaultsAndOverrides->defaultRouter))); + } + + if(!_defaultsAndOverrides->defaultLocator.empty()) + { + _referenceFactory->setDefaultLocator( + LocatorPrx::uncheckedCast(_proxyFactory->stringToProxy(_defaultsAndOverrides->defaultLocator))); + } + #ifndef _WIN32 // // daemon() must be called after any plug-ins have been @@ -520,12 +543,18 @@ IceInternal::Instance::destroy() _routerManager = 0; } + if(_locatorManager) + { + _locatorManager->destroy(); + _locatorManager = 0; + } + if(_endpointFactoryManager) { _endpointFactoryManager->destroy(); _endpointFactoryManager = 0; } - + // // We destroy the thread pool outside the thread // synchronization. diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h index 7cc4ec3ff0b..ed858f50b59 100644 --- a/cpp/src/Ice/Instance.h +++ b/cpp/src/Ice/Instance.h @@ -21,6 +21,7 @@ #include <Ice/TraceLevelsF.h> #include <Ice/DefaultsAndOverridesF.h> #include <Ice/RouterInfoF.h> +#include <Ice/LocatorInfoF.h> #include <Ice/ReferenceFactoryF.h> #include <Ice/ProxyFactoryF.h> #include <Ice/ThreadPoolF.h> @@ -53,6 +54,7 @@ public: TraceLevelsPtr traceLevels(); DefaultsAndOverridesPtr defaultsAndOverrides(); RouterManagerPtr routerManager(); + LocatorManagerPtr locatorManager(); ReferenceFactoryPtr referenceFactory(); ProxyFactoryPtr proxyFactory(); OutgoingConnectionFactoryPtr outgoingConnectionFactory(); @@ -78,6 +80,7 @@ private: TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy(). DefaultsAndOverridesPtr _defaultsAndOverrides; // Immutable, not reset by destroy(). RouterManagerPtr _routerManager; + LocatorManagerPtr _locatorManager; ReferenceFactoryPtr _referenceFactory; ProxyFactoryPtr _proxyFactory; OutgoingConnectionFactoryPtr _outgoingConnectionFactory; diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp new file mode 100644 index 00000000000..c302835d88d --- /dev/null +++ b/cpp/src/Ice/LocatorInfo.cpp @@ -0,0 +1,283 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/LocatorInfo.h> +#include <Ice/Locator.h> +#include <Ice/LocalException.h> +#include <Ice/Instance.h> +#include <Ice/TraceLevels.h> +#include <Ice/LoggerUtil.h> +#include <Ice/Endpoint.h> +#include <Ice/Reference.h> +#include <Ice/Functional.h> +#include <Ice/IdentityUtil.h> + +#include <iterator> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +void IceInternal::incRef(LocatorManager* p) { p->__incRef(); } +void IceInternal::decRef(LocatorManager* p) { p->__decRef(); } + +void IceInternal::incRef(LocatorInfo* p) { p->__incRef(); } +void IceInternal::decRef(LocatorInfo* p) { p->__decRef(); } + +void IceInternal::incRef(LocatorAdapterTable* p) { p->__incRef(); } +void IceInternal::decRef(LocatorAdapterTable* p) { p->__decRef(); } + +IceInternal::LocatorManager::LocatorManager() : + _tableHint(_table.end()) +{ +} + +void +IceInternal::LocatorManager::destroy() +{ + IceUtil::Mutex::Lock sync(*this); + + _table.clear(); + _tableHint = _table.end(); + + _adapterTables.clear(); +} + +LocatorInfoPtr +IceInternal::LocatorManager::get(const LocatorPrx& locator) +{ + if (!locator) + { + return 0; + } + + // + // TODO: reap un-used locator info objects? + // + + IceUtil::Mutex::Lock sync(*this); + + map<LocatorPrx, LocatorInfoPtr>::iterator p = _table.end(); + + if (_tableHint != _table.end()) + { + if (_tableHint->first == locator) + { + p = _tableHint; + } + } + + if (p == _table.end()) + { + p = _table.find(locator); + } + + if (p == _table.end()) + { + // + // Rely on locator identity for the adapter table. We want to + // have only one table per locator (not one per locator + // proxy). + // + map<Identity, LocatorAdapterTablePtr>::iterator t = _adapterTables.find(locator->ice_getIdentity()); + if(t == _adapterTables.end()) + { + t = _adapterTables.insert(_adapterTables.begin(), + make_pair(locator->ice_getIdentity(), new LocatorAdapterTable())); + } + + _tableHint = _table.insert(_tableHint, make_pair(locator, new LocatorInfo(locator, t->second))); + } + else + { + _tableHint = p; + } + + return _tableHint->second; +} + +IceInternal::LocatorAdapterTable::LocatorAdapterTable() +{ +} + +bool +IceInternal::LocatorAdapterTable::get(const string& adapter, ::std::vector<EndpointPtr>& endpoints) const +{ + IceUtil::Mutex::Lock sync(*this); + + std::map<std::string, std::vector<EndpointPtr> >::const_iterator p = _adapterEndpointsMap.find(adapter); + + if (p != _adapterEndpointsMap.end()) + { + endpoints = p->second; + return true; + } + else + { + return false; + } +} + +void +IceInternal::LocatorAdapterTable::add(const string& adapter, const ::std::vector<EndpointPtr>& endpoints) +{ + IceUtil::Mutex::Lock sync(*this); + + _adapterEndpointsMap.insert(make_pair(adapter, endpoints)); +} + +void +IceInternal::LocatorAdapterTable::remove(const string& adapter) +{ + IceUtil::Mutex::Lock sync(*this); + + bool removed = _adapterEndpointsMap.erase(adapter) > 0; + assert(removed); +} + + +IceInternal::LocatorInfo::LocatorInfo(const LocatorPrx& locator, const LocatorAdapterTablePtr& adapterTable) : + _locator(locator), + _adapterTable(adapterTable) +{ + assert(_locator); + assert(_adapterTable); +} + +bool +IceInternal::LocatorInfo::operator==(const LocatorInfo& rhs) const +{ + return _locator == rhs._locator; +} + +bool +IceInternal::LocatorInfo::operator!=(const LocatorInfo& rhs) const +{ + return _locator != rhs._locator; +} + +bool +IceInternal::LocatorInfo::operator<(const LocatorInfo& rhs) const +{ + return _locator < rhs._locator; +} + +LocatorPrx +IceInternal::LocatorInfo::getLocator() +{ + // + // No mutex lock necessary, _locator is immutable. + // + return _locator; +} + +LocatorRegistryPrx +IceInternal::LocatorInfo::getLocatorRegistry() +{ + IceUtil::Mutex::Lock sync(*this); + + if (!_locatorRegistry) // Lazy initialization. + { + _locatorRegistry = _locator->getRegistry(); + } + + return _locatorRegistry; +} + +bool +IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, ::std::vector<EndpointPtr>& endpoints) const +{ + bool cached = false; + + if(!ref->adapterId.empty()) + { + if(!_adapterTable->get(ref->adapterId, endpoints)) + { + // + // Search the adapter in the location service if we didn't + // find it in the cache. + // + try + { + ObjectPrx object = _locator->findAdapterByName(ref->adapterId); + if (object) + { + endpoints = object->__reference()->endpoints; + } + } + catch(LocalException&) + { + // + // Ignore. The proxy will most likely get empty + // endpoints and raise a NoEndpointException(). + // + } + } + else + { + cached = true; + } + + if(endpoints.size() > 0) + { + if (ref->instance->traceLevels()->location >= 1) + { + Trace out(ref->instance->logger(), ref->instance->traceLevels()->locationCat); + if(cached) + out << "found object in local locator table\n"; + else + out << "found object in locator\n"; + out << "identity = " << identityToString(ref->identity) << "\n"; + out << "adapter = " << ref->adapterId << "\n"; + const char* sep = endpoints.size() > 1 ? ":" : ""; + ostringstream o; + transform(endpoints.begin(), endpoints.end(), ostream_iterator<string>(o,sep), + ::Ice::constMemFun(&Endpoint::toString)); + out << "endpoints = " << o.str(); + } + } + } + + return cached; +} + +void +IceInternal::LocatorInfo::addEndpoints(const ReferencePtr& ref, const ::std::vector<EndpointPtr>& endpoints) +{ + assert(!endpoints.empty()); + + if (!ref->adapterId.empty()) + { + _adapterTable->add(ref->adapterId, endpoints); + + if (ref->instance->traceLevels()->location >= 2) + { + Trace out(ref->instance->logger(), ref->instance->traceLevels()->locationCat); + out << "added adapter to local locator table\n"; + out << "adapter = " << ref->adapterId; + } + } +} + +void +IceInternal::LocatorInfo::removeEndpoints(const ReferencePtr& ref) +{ + if (!ref->adapterId.empty()) + { + _adapterTable->remove(ref->adapterId); + + if (ref->instance->traceLevels()->location >= 2) + { + Trace out(ref->instance->logger(), ref->instance->traceLevels()->locationCat); + out << "removed adapter from local locator table\n"; + out << "adapter = " << ref->adapterId; + } + } +} diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h new file mode 100644 index 00000000000..9bee858982f --- /dev/null +++ b/cpp/src/Ice/LocatorInfo.h @@ -0,0 +1,86 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_LOCATOR_INFO_H +#define ICE_LOCATOR_INFO_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/LocatorInfoF.h> +#include <Ice/LocatorF.h> +#include <Ice/ProxyF.h> +#include <Ice/EndpointF.h> + +namespace IceInternal +{ + +class LocatorManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + LocatorManager(); + + void destroy(); + + // + // Returns locator info for a given locator. Automatically creates + // the locator info if it doesn't exist yet. + // + LocatorInfoPtr get(const ::Ice::LocatorPrx&); + +private: + + std::map< ::Ice::LocatorPrx, LocatorInfoPtr> _table; + std::map< ::Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint; + + std::map< ::Ice::Identity, LocatorAdapterTablePtr> _adapterTables; +}; + +class LocatorAdapterTable : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + LocatorAdapterTable(); + + bool get(const std::string&, ::std::vector<EndpointPtr>&) const; + void add(const std::string&, const ::std::vector<EndpointPtr>&); + void remove(const std::string&); + +private: + + std::map<std::string, std::vector<EndpointPtr> > _adapterEndpointsMap; +}; + +class LocatorInfo : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + LocatorInfo(const ::Ice::LocatorPrx&, const LocatorAdapterTablePtr&); + + bool operator==(const LocatorInfo&) const; + bool operator!=(const LocatorInfo&) const; + bool operator<(const LocatorInfo&) const; + + ::Ice::LocatorPrx getLocator(); + ::Ice::LocatorRegistryPrx getLocatorRegistry(); + + bool getEndpoints(const ReferencePtr&, ::std::vector<EndpointPtr>&) const; + void addEndpoints(const ReferencePtr&, const ::std::vector<EndpointPtr>&); + void removeEndpoints(const ReferencePtr&); + +private: + + ::Ice::LocatorPrx _locator; + ::Ice::LocatorRegistryPrx _locatorRegistry; + LocatorAdapterTablePtr _adapterTable; +}; + +} + +#endif diff --git a/cpp/src/Ice/LocatorInfoF.h b/cpp/src/Ice/LocatorInfoF.h new file mode 100644 index 00000000000..9c5121b0b28 --- /dev/null +++ b/cpp/src/Ice/LocatorInfoF.h @@ -0,0 +1,36 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_LOCATOR_INFO_F_H +#define ICE_LOCATOR_INFO_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class LocatorManager; +void incRef(LocatorManager*); +void decRef(LocatorManager*); +typedef Handle<LocatorManager> LocatorManagerPtr; + +class LocatorInfo; +void incRef(LocatorInfo*); +void decRef(LocatorInfo*); +typedef Handle<LocatorInfo> LocatorInfoPtr; + +class LocatorAdapterTable; +void incRef(LocatorAdapterTable*); +void decRef(LocatorAdapterTable*); +typedef Handle<LocatorAdapterTable> LocatorAdapterTablePtr; + +} + +#endif diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile index 064f1047c83..b3547436339 100644 --- a/cpp/src/Ice/Makefile +++ b/cpp/src/Ice/Makefile @@ -81,7 +81,9 @@ OBJS = Initialize.o \ DynamicLibrary.o \ Plugin.o \ PluginManagerI.o \ - ProtocolPluginFacade.o + ProtocolPluginFacade.o \ + Locator.o \ + LocatorInfo.o SRCS = $(OBJS:.o=.cpp) @@ -300,4 +302,21 @@ $(HDIR)/PluginF.h: $(SDIR)/PluginF.ice $(SLICE2CPP) clean:: rm -f $(HDIR)/PluginF.h +$(HDIR)/Locator.h Locator.cpp: $(SDIR)/Locator.ice $(SLICE2CPP) + rm -f $(HDIR)/Locator.h Locator.cpp + $(SLICECMD) $(SDIR)/Locator.ice + mv Locator.h $(HDIR) + +clean:: + rm -f $(HDIR)/Locator.h Locator.cpp + +$(HDIR)/LocatorF.h: $(SDIR)/LocatorF.ice $(SLICE2CPP) + rm -f $(HDIR)/LocatorF.h LocatorF.cpp + $(SLICECMD) $(SDIR)/LocatorF.ice + mv LocatorF.h $(HDIR) + rm -f LocatorF.cpp + +clean:: + rm -f $(HDIR)/LocatorF.h + include .depend diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 0a496e35d0f..7803a432408 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -22,6 +22,8 @@ #include <Ice/LocalException.h> #include <Ice/Properties.h> #include <Ice/Functional.h> +#include <Ice/LocatorInfo.h> +#include <Ice/Locator.h> #include <Ice/LoggerUtil.h> #ifdef _WIN32 @@ -62,6 +64,23 @@ Ice::ObjectAdapterI::activate() { throw ObjectAdapterDeactivatedException(__FILE__, __LINE__); } + + if(!_printAdapterReadyDone) + { + if(_locatorInfo) + { + Identity ident; + ident.name = "dummy"; + + // + // TODO: This might throw if we can't connect to the + // locator. Shall we raise a special exception for the + // activate operation instead of a non obvious network + // exception? + // + _locatorInfo->getLocatorRegistry()->addAdapter(_name, newDirectProxy(ident)); + } + } for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::activate)); @@ -72,7 +91,7 @@ Ice::ObjectAdapterI::activate() { cout << _name << " ready" << endl; } - + _printAdapterReadyDone = true; } } @@ -86,11 +105,11 @@ Ice::ObjectAdapterI::hold() { throw ObjectAdapterDeactivatedException(__FILE__, __LINE__); } - + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::hold)); } - + void Ice::ObjectAdapterI::deactivate() { @@ -99,20 +118,20 @@ Ice::ObjectAdapterI::deactivate() if(!_instance) { // - // Ignore deactivation requests if the Object Adapter has - // already been deactivated. + // Ignore deactivation requests if the Object Adapter has + // already been deactivated. // return; } - + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::destroy)); _instance->outgoingConnectionFactory()->removeAdapter(this); - + _activeServantMap.clear(); _activeServantMapHint = _activeServantMap.end(); - + for_each(_locatorMap.begin(), _locatorMap.end(), Ice::secondVoidMemFun<string, ServantLocator>(&ServantLocator::deactivate)); _locatorMap.clear(); @@ -316,6 +335,19 @@ Ice::ObjectAdapterI::createProxy(const Identity& ident) } ObjectPrx +Ice::ObjectAdapterI::createDirectProxy(const Identity& ident) +{ + IceUtil::Mutex::Lock sync(*this); + + if(!_instance) + { + throw ObjectAdapterDeactivatedException(__FILE__, __LINE__); + } + + return newDirectProxy(ident); +} + +ObjectPrx Ice::ObjectAdapterI::createReverseProxy(const Identity& ident) { IceUtil::Mutex::Lock sync(*this); @@ -329,8 +361,8 @@ Ice::ObjectAdapterI::createReverseProxy(const Identity& ident) // Create a reference and return a reverse proxy for this reference. // vector<EndpointPtr> endpoints; - ReferencePtr ref = _instance->referenceFactory()->create(ident, "", Reference::ModeTwoway, false, false, - endpoints, endpoints, 0, this); + ReferencePtr ref = _instance->referenceFactory()->create(ident, "", Reference::ModeTwoway, false, false,"", + endpoints, 0, 0, this); return _instance->proxyFactory()->referenceToProxy(ref); } @@ -374,6 +406,40 @@ Ice::ObjectAdapterI::addRouter(const RouterPrx& router) // callbacks. // _instance->outgoingConnectionFactory()->setRouter(routerInfo->getRouter()); + + // + // Creates proxies with endpoints instead of the adapter name + // when there is a router. + // + _useEndpointsInProxy = true; + } +} + +void +Ice::ObjectAdapterI::setLocator(const LocatorPrx& locator) +{ + IceUtil::Mutex::Lock sync(*this); + + if(!_instance) + { + throw ObjectAdapterDeactivatedException(__FILE__, __LINE__); + } + + _locatorInfo = _instance->locatorManager()->get(locator); + if(_locatorInfo) + { + // + // If a locator is set, we create proxies with adapter names in + // the reference instead of endpoints. If it's not set, we create + // proxies with endpoints if there's at least one incoming + // connection factory or router endpoints. + // + _useEndpointsInProxy = false; + } + else + { + IceUtil::Mutex::Lock routerEndpointsSync(_routerEndpointsMutex); + _useEndpointsInProxy = !_incomingConnectionFactories.empty() || !_routerEndpoints.empty(); } } @@ -452,6 +518,14 @@ Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const string& n } __setNoDelete(false); + // + // Create proxies with the adapter endpoints only if there's + // incoming connection factories. If there's no incoming + // connection factories we will create proxies with the adapter + // name in the reference (to allow collocation to work). + // + _useEndpointsInProxy = !_incomingConnectionFactories.empty(); + // // Object Adapters without incoming connection factories are // permissible, as such Object Adapters can still be used with a @@ -477,15 +551,38 @@ Ice::ObjectAdapterI::~ObjectAdapterI() ObjectPrx Ice::ObjectAdapterI::newProxy(const Identity& ident) const { + if(_useEndpointsInProxy) + { + return newDirectProxy(ident); + } + else + { + // + // Create a reference with the adapter id. + // + vector<EndpointPtr> endpoints; + ReferencePtr ref = _instance->referenceFactory()->create(ident, "", Reference::ModeTwoway, false, false, _name, + endpoints, 0, 0, 0); + + // + // Return a proxy for the reference. + // + return _instance->proxyFactory()->referenceToProxy(ref); + } +} + +ObjectPrx +Ice::ObjectAdapterI::newDirectProxy(const Identity& ident) const +{ vector<EndpointPtr> endpoints; - // + // // First we add all endpoints from all incoming connection // factories. // transform(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), back_inserter(endpoints), Ice::constMemFun(&IncomingConnectionFactory::endpoint)); - + // // Now we also add the endpoints of the router's server proxy, if // any. This way, object references created by this object adapter @@ -499,9 +596,10 @@ Ice::ObjectAdapterI::newProxy(const Identity& ident) const // // Create a reference and return a proxy for this reference. // - ReferencePtr ref = _instance->referenceFactory()->create(ident, "", Reference::ModeTwoway, false, false, - endpoints, endpoints, 0, 0); + ReferencePtr ref = _instance->referenceFactory()->create(ident, "", Reference::ModeTwoway, false, false, "", + endpoints, 0, 0, 0); return _instance->proxyFactory()->referenceToProxy(ref); + } bool @@ -510,6 +608,15 @@ Ice::ObjectAdapterI::isLocal(const ObjectPrx& proxy) const ReferencePtr ref = proxy->__reference(); vector<EndpointPtr>::const_iterator p; + if(!ref->adapterId.empty()) + { + // + // Proxy is local if the reference adapter id matches this + // adapter name. + // + return ref->adapterId == _name; + } + // // Proxies which have at least one endpoint in common with the // endpoints used by this object adapter's incoming connection diff --git a/cpp/src/Ice/ObjectAdapterI.h b/cpp/src/Ice/ObjectAdapterI.h index e9378be1c67..4dd2ebf5c54 100644 --- a/cpp/src/Ice/ObjectAdapterI.h +++ b/cpp/src/Ice/ObjectAdapterI.h @@ -22,6 +22,7 @@ #include <Ice/ObjectF.h> #include <Ice/Exception.h> #include <Ice/EndpointF.h> +#include <Ice/LocatorInfoF.h> #include <list> namespace Ice @@ -54,10 +55,13 @@ public: virtual ObjectPtr proxyToServant(const ObjectPrx&); virtual ObjectPrx createProxy(const Identity&); + virtual ObjectPrx createDirectProxy(const Identity&); virtual ObjectPrx createReverseProxy(const Identity&); virtual void addRouter(const RouterPrx&); + virtual void setLocator(const LocatorPrx&); + std::list< ::IceInternal::ConnectionPtr> getIncomingConnections() const; private: @@ -67,11 +71,13 @@ private: friend class ::IceInternal::ObjectAdapterFactory; ObjectPrx newProxy(const Identity&) const; + ObjectPrx newDirectProxy(const Identity&) const; bool isLocal(const ObjectPrx&) const; ::IceInternal::InstancePtr _instance; bool _printAdapterReadyDone; std::string _name; + bool _useEndpointsInProxy; ObjectDict _activeServantMap; ObjectDict::iterator _activeServantMapHint; std::map<std::string, ServantLocatorPtr> _locatorMap; @@ -79,6 +85,7 @@ private: std::vector< ::IceInternal::IncomingConnectionFactoryPtr> _incomingConnectionFactories; std::vector< ::IceInternal::EndpointPtr> _routerEndpoints; IceUtil::Mutex _routerEndpointsMutex; + ::IceInternal::LocatorInfoPtr _locatorInfo; }; } diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 319c12aa623..ee704a8b569 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -8,6 +8,8 @@ // // ********************************************************************** +#include <IceUtil/Thread.h> + #include <Ice/Proxy.h> #include <Ice/ProxyFactory.h> #include <Ice/Object.h> @@ -23,6 +25,7 @@ #include <Ice/ConnectionFactory.h> #include <Ice/Connection.h> #include <Ice/RouterInfo.h> +#include <Ice/LocatorInfo.h> #include <Ice/BasicStream.h> #include <Ice/LocalException.h> #include <Ice/Functional.h> @@ -290,7 +293,7 @@ IceProxy::Ice::Object::ice_newIdentity(const Identity& newIdentity) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(_reference->changeIdentity(newIdentity)); + proxy->setup(_reference->changeIdentity(newIdentity), _retryIntervals); return proxy; } } @@ -311,7 +314,7 @@ IceProxy::Ice::Object::ice_newFacet(const string& newFacet) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(_reference->changeFacet(newFacet)); + proxy->setup(_reference->changeFacet(newFacet), _retryIntervals); return proxy; } } @@ -327,7 +330,7 @@ IceProxy::Ice::Object::ice_twoway() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -343,7 +346,7 @@ IceProxy::Ice::Object::ice_oneway() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -359,7 +362,7 @@ IceProxy::Ice::Object::ice_batchOneway() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -375,7 +378,7 @@ IceProxy::Ice::Object::ice_datagram() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -391,7 +394,7 @@ IceProxy::Ice::Object::ice_batchDatagram() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -407,7 +410,7 @@ IceProxy::Ice::Object::ice_secure(bool b) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -423,7 +426,7 @@ IceProxy::Ice::Object::ice_compress(bool b) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -439,7 +442,7 @@ IceProxy::Ice::Object::ice_timeout(int t) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -455,7 +458,7 @@ IceProxy::Ice::Object::ice_router(const RouterPrx& router) const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -471,7 +474,7 @@ IceProxy::Ice::Object::ice_default() const else { ObjectPrx proxy(new ::IceProxy::Ice::Object()); - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } } @@ -495,11 +498,13 @@ IceProxy::Ice::Object::__copyFrom(const ObjectPrx& from) ReferencePtr ref; Handle< ::IceDelegateD::Ice::Object> delegateD; Handle< ::IceDelegateM::Ice::Object> delegateM; + vector<int> retryIntervals; { IceUtil::Mutex::Lock sync(*from.get()); ref = from->_reference; + retryIntervals = from->_retryIntervals; delegateD = dynamic_cast< ::IceDelegateD::Ice::Object*>(from->_delegate.get()); delegateM = dynamic_cast< ::IceDelegateM::Ice::Object*>(from->_delegate.get()); } @@ -510,7 +515,8 @@ IceProxy::Ice::Object::__copyFrom(const ObjectPrx& from) // _reference = ref; - + _retryIntervals = retryIntervals; + if(delegateD) { Handle< ::IceDelegateD::Ice::Object> delegate = __createDelegateD(); @@ -532,8 +538,6 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) _delegate = 0; - static const int max = 1; // TODO: Make number of retries configurable - try { ex.ice_throw(); @@ -544,7 +548,6 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) // We always retry on a close connection exception, as this // indicates graceful server shutdown. // - // TODO: configurable timeout before we try again? } catch(const SocketException&) { @@ -561,8 +564,8 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) TraceLevelsPtr traceLevels = _reference->instance->traceLevels(); LoggerPtr logger = _reference->instance->logger(); - - if(cnt > max) + + if(cnt > (int)_retryIntervals.size()) { if(traceLevels->retry >= 1) { @@ -575,13 +578,22 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) if(traceLevels->retry >= 1) { Trace out(logger, traceLevels->retryCat); - out << "re-trying operation call because of exception\n" << ex; + out << "re-trying operation call"; + if(cnt > 0 && _retryIntervals[cnt - 1] > 0) + { + out << " in " << _retryIntervals[cnt - 1] << " (ms)"; + } + out << " because of exception\n" << ex; } - // - // Reset the endpoints to the original endpoints upon retry - // - _reference = _reference->changeEndpoints(_reference->origEndpoints); + if(cnt > 0) + { + // + // Sleep before retrying. TODO: is it safe to sleep here + // with the mutex locked? + // + IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(_retryIntervals[cnt - 1])); + } } void @@ -596,6 +608,7 @@ IceProxy::Ice::Object::__locationForward(const LocationForward& ex) throw LocationForwardIdentityException(__FILE__, __LINE__); } + _reference = _reference->changeAdapterId(ex._prx->_reference->adapterId); _reference = _reference->changeEndpoints(ex._prx->_reference->endpoints); /* @@ -668,13 +681,14 @@ IceProxy::Ice::Object::__createDelegateD() } void -IceProxy::Ice::Object::setup(const ReferencePtr& ref) +IceProxy::Ice::Object::setup(const ReferencePtr& ref, const vector<int>& retryIntervals) { // // No need to synchronize "*this", as this operation is only // called upon initialization. // _reference = ref; + _retryIntervals = retryIntervals; } IceDelegateM::Ice::Object::~Object() @@ -856,31 +870,73 @@ IceDelegateM::Ice::Object::setup(const ReferencePtr& ref) } else { - vector<EndpointPtr> endpoints; - if(__reference->routerInfo) - { - // - // If we route, we send everything to the router's client - // proxy endpoints. - // - ObjectPrx proxy = __reference->routerInfo->getClientProxy(); - endpoints = filterEndpoints(proxy->__reference()->endpoints); - } - else - { - endpoints = filterEndpoints(__reference->endpoints); - } - - if(endpoints.empty()) + while(true) { - throw NoEndpointException(__FILE__, __LINE__); + vector<EndpointPtr> endpoints; + bool cached = false; + if(__reference->routerInfo) + { + // + // If we route, we send everything to the router's client + // proxy endpoints. + // + ObjectPrx proxy = ref->routerInfo->getClientProxy(); + endpoints = proxy->__reference()->endpoints; + } + else if(!__reference->endpoints.empty()) + { + endpoints = __reference->endpoints; + } + else if(__reference->locatorInfo) + { + cached = __reference->locatorInfo->getEndpoints(__reference, endpoints); + } + + + vector<EndpointPtr> filteredEndpoints = filterEndpoints(endpoints); + if(filteredEndpoints.empty()) + { + throw NoEndpointException(__FILE__, __LINE__); + } + + try + { + OutgoingConnectionFactoryPtr factory = __reference->instance->outgoingConnectionFactory(); + __connection = factory->create(filteredEndpoints); + assert(__connection); + __connection->incProxyUsageCount(); + } + catch(const LocalException& ex) + { + if(cached) + { + TraceLevelsPtr traceLevels = __reference->instance->traceLevels(); + LoggerPtr logger = __reference->instance->logger(); + + if(traceLevels->retry >= 1) + { + Trace out(logger, traceLevels->retryCat); + out << "connection to cached endpoint failed, removing endpoint from cache\n" + << "and trying one more time\n" << ex; + } + + assert(__reference->locatorInfo); + __reference->locatorInfo->removeEndpoints(__reference); + continue; + } + else + { + throw; + } + } + + if(__reference->locatorInfo && !cached) + { + __reference->locatorInfo->addEndpoints(__reference, endpoints); + } + break; } - - OutgoingConnectionFactoryPtr factory = __reference->instance->outgoingConnectionFactory(); - __connection = factory->create(endpoints); - assert(__connection); - __connection->incProxyUsageCount(); - + // // If we have a router, set the object adapter for this router // (if any) to the new connection, so that callbacks from the diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index e51b56c8a58..93d7d9af484 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -13,6 +13,7 @@ #include <Ice/Proxy.h> #include <Ice/ReferenceFactory.h> #include <Ice/BasicStream.h> +#include <Ice/Properties.h> using namespace std; using namespace Ice; @@ -85,13 +86,57 @@ ObjectPrx IceInternal::ProxyFactory::referenceToProxy(const ReferencePtr& ref) const { ObjectPrx proxy = new ::IceProxy::Ice::Object; - proxy->setup(ref); + proxy->setup(ref, _retryIntervals); return proxy; } IceInternal::ProxyFactory::ProxyFactory(const InstancePtr& instance) : _instance(instance) { + string str = _instance->properties()->getPropertyWithDefault("Ice.RetryIntervals", "0"); + + string::size_type beg; + string::size_type end = 0; + + while(true) + { + static const string delim = " \t"; + + beg = str.find_first_not_of(delim, end); + if(beg == string::npos) + { + if(_retryIntervals.empty()) + { + _retryIntervals.push_back(0); + } + break; + } + + end = str.find_first_of(delim, beg); + if(end == string::npos) + { + end = str.length(); + } + + if(beg == end) + { + break; + } + + string value = str.substr(beg, end - beg); + + int v = atoi(value.c_str()); + + // + // If -1 is the first value, no retry and wait intervals. + // + if(v == -1 && _retryIntervals.empty()) + { + break; + } + + _retryIntervals.push_back(v > 0 ? v : 0); + } } IceInternal::ProxyFactory::~ProxyFactory() diff --git a/cpp/src/Ice/ProxyFactory.h b/cpp/src/Ice/ProxyFactory.h index 1154d5e767a..4c637d7c135 100644 --- a/cpp/src/Ice/ProxyFactory.h +++ b/cpp/src/Ice/ProxyFactory.h @@ -42,6 +42,7 @@ private: friend class Instance; InstancePtr _instance; + ::std::vector<int> _retryIntervals; }; } diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp index 80fd1237773..c6946409552 100644 --- a/cpp/src/Ice/Reference.cpp +++ b/cpp/src/Ice/Reference.cpp @@ -17,6 +17,8 @@ #include <Ice/BasicStream.h> #include <Ice/RouterInfo.h> #include <Ice/Router.h> +#include <Ice/LocatorInfo.h> +#include <Ice/Locator.h> using namespace std; using namespace Ice; @@ -58,7 +60,7 @@ IceInternal::Reference::operator==(const Reference& r) const return false; } - if(origEndpoints != r.origEndpoints) + if(adapterId != r.adapterId) { return false; } @@ -73,6 +75,11 @@ IceInternal::Reference::operator==(const Reference& r) const return false; } + if(locatorInfo != r.locatorInfo) + { + return false; + } + if(reverseAdapter != r.reverseAdapter) { return false; @@ -139,12 +146,12 @@ IceInternal::Reference::operator<(const Reference& r) const { return false; } - - if(origEndpoints < r.origEndpoints) + + if(adapterId < r.adapterId) { return true; } - else if(r.origEndpoints < origEndpoints) + else if(r.adapterId < adapterId) { return false; } @@ -167,6 +174,15 @@ IceInternal::Reference::operator<(const Reference& r) const return false; } + if(locatorInfo < r.locatorInfo) + { + return true; + } + else if(r.locatorInfo < locatorInfo) + { + return false; + } + if(reverseAdapter < r.reverseAdapter) { return true; @@ -194,28 +210,24 @@ IceInternal::Reference::streamWrite(BasicStream* s) const s->write(secure); s->write(compress); - - vector<EndpointPtr>::const_iterator p; - s->writeSize(Ice::Int(origEndpoints.size())); - for(p = origEndpoints.begin(); p != origEndpoints.end(); ++p) - { - (*p)->streamWrite(s); - } + s->writeSize(Ice::Int(endpoints.size())); - if(endpoints == origEndpoints) + if(!endpoints.empty()) { - s->write(true); - } - else - { - s->write(false); - s->writeSize(Ice::Int(endpoints.size())); + assert(adapterId.empty()); + + vector<EndpointPtr>::const_iterator p; + for(p = endpoints.begin(); p != endpoints.end(); ++p) { (*p)->streamWrite(s); } } + else + { + s->write(adapterId); + } } string @@ -270,25 +282,25 @@ IceInternal::Reference::toString() const if(compress) { - s << " -s"; + s << " -c"; } - vector<EndpointPtr>::const_iterator p; - - for(p = origEndpoints.begin(); p != origEndpoints.end(); ++p) - { - s << ':' << (*p)->toString(); - } - - if(endpoints != origEndpoints) + if(!endpoints.empty()) { - s << ':'; + assert(adapterId.empty()); + + vector<EndpointPtr>::const_iterator p; + for(p = endpoints.begin(); p != endpoints.end(); ++p) { s << ':' << (*p)->toString(); } } - + else if(!adapterId.empty()) + { + s << " @ " << adapterId; + } + return s.str(); } @@ -301,9 +313,8 @@ IceInternal::Reference::changeIdentity(const Identity& newIdentity) const } else { - return instance->referenceFactory()->create(newIdentity, facet, mode, secure, compress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(newIdentity, facet, mode, secure, compress, adapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -316,9 +327,8 @@ IceInternal::Reference::changeFacet(const string& newFacet) const } else { - return instance->referenceFactory()->create(identity, newFacet, mode, secure, compress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, newFacet, mode, secure, compress, adapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -330,12 +340,6 @@ IceInternal::Reference::changeTimeout(int timeout) const // vector<EndpointPtr>::const_iterator p; - vector<EndpointPtr> newOrigEndpoints; - for(p = origEndpoints.begin(); p != origEndpoints.end(); ++p) - { - newOrigEndpoints.push_back((*p)->timeout(timeout)); - } - vector<EndpointPtr> newEndpoints; for(p = endpoints.begin(); p != endpoints.end(); ++p) { @@ -362,9 +366,19 @@ IceInternal::Reference::changeTimeout(int timeout) const } } - return instance->referenceFactory()->create(identity, facet, mode, secure, compress, - newOrigEndpoints, newEndpoints, - newRouterInfo, reverseAdapter); + // + // If we have a locator, we also change the timeout settings on the + // locator. + // + LocatorInfoPtr newLocatorInfo; + if(locatorInfo) + { + LocatorPrx newLocator = LocatorPrx::uncheckedCast(locatorInfo->getLocator()->ice_timeout(timeout)); + newLocatorInfo = instance->locatorManager()->get(newLocator); + } + + return instance->referenceFactory()->create(identity, facet, mode, secure, compress, adapterId, + newEndpoints, newRouterInfo, newLocatorInfo, reverseAdapter); } ReferencePtr @@ -376,9 +390,8 @@ IceInternal::Reference::changeMode(Mode newMode) const } else { - return instance->referenceFactory()->create(identity, facet, newMode, secure, compress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, facet, newMode, secure, compress, adapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -391,9 +404,8 @@ IceInternal::Reference::changeSecure(bool newSecure) const } else { - return instance->referenceFactory()->create(identity, facet, mode, newSecure, compress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, facet, mode, newSecure, compress, adapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -406,9 +418,22 @@ IceInternal::Reference::changeCompress(bool newCompress) const } else { - return instance->referenceFactory()->create(identity, facet, mode, secure, newCompress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, facet, mode, secure, newCompress, adapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); + } +} + +ReferencePtr +IceInternal::Reference::changeAdapterId(const string& newAdapterId) const +{ + if(newAdapterId == adapterId) + { + return ReferencePtr(const_cast<Reference*>(this)); + } + else + { + return instance->referenceFactory()->create(identity, facet, mode, secure, compress, newAdapterId, + endpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -421,9 +446,8 @@ IceInternal::Reference::changeEndpoints(const vector<EndpointPtr>& newEndpoints) } else { - return instance->referenceFactory()->create(identity, facet, mode, secure, compress, - origEndpoints, newEndpoints, - routerInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, facet, mode, secure, compress, adapterId, + newEndpoints, routerInfo, locatorInfo, reverseAdapter); } } @@ -438,18 +462,32 @@ IceInternal::Reference::changeRouter(const RouterPrx& newRouter) const } else { - return instance->referenceFactory()->create(identity, facet, mode, secure, compress, - origEndpoints, endpoints, - newRouterInfo, reverseAdapter); + return instance->referenceFactory()->create(identity, facet, mode, secure, compress, adapterId, + endpoints, newRouterInfo, locatorInfo, reverseAdapter); + } +} + +ReferencePtr +IceInternal::Reference::changeLocator(const LocatorPrx& newLocator) const +{ + LocatorInfoPtr newLocatorInfo = instance->locatorManager()->get(newLocator); + + if(newLocatorInfo == locatorInfo) + { + return ReferencePtr(const_cast<Reference*>(this)); + } + else + { + return instance->referenceFactory()->create(identity, facet, mode, secure, compress, adapterId, + endpoints, routerInfo, newLocatorInfo, reverseAdapter); } } ReferencePtr IceInternal::Reference::changeDefault() const { - return instance->referenceFactory()->create(identity, "", ModeTwoway, false, false, - origEndpoints, origEndpoints, - 0, 0); + return instance->referenceFactory()->create(identity, "", ModeTwoway, false, false, adapterId, + endpoints, 0, 0, 0); } IceInternal::Reference::Reference(const InstancePtr& inst, @@ -458,9 +496,10 @@ IceInternal::Reference::Reference(const InstancePtr& inst, Mode md, bool sec, bool com, - const vector<EndpointPtr>& origEndpts, + const string& adptid, const vector<EndpointPtr>& endpts, const RouterInfoPtr& rtrInfo, + const LocatorInfoPtr& locInfo, const ObjectAdapterPtr& rvAdapter) : instance(inst), identity(ident), @@ -468,14 +507,20 @@ IceInternal::Reference::Reference(const InstancePtr& inst, mode(md), secure(sec), compress(com), - origEndpoints(origEndpts), + adapterId(adptid), endpoints(endpts), routerInfo(rtrInfo), + locatorInfo(locInfo), reverseAdapter(rvAdapter), hashValue(0) { - Int h = 0; + // + // It's either adapter id or endpoints, it can't be both. + // + assert(!(!adapterId.empty() && !endpoints.empty())); + Int h = 0; + string::const_iterator p; for(p = identity.name.begin(); p != identity.name.end(); ++p) diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h index 1c64e87c3d2..d748da757b8 100644 --- a/cpp/src/Ice/Reference.h +++ b/cpp/src/Ice/Reference.h @@ -17,7 +17,9 @@ #include <Ice/EndpointF.h> #include <Ice/InstanceF.h> #include <Ice/RouterF.h> +#include <Ice/LocatorF.h> #include <Ice/RouterInfoF.h> +#include <Ice/LocatorInfoF.h> #include <Ice/ObjectAdapterF.h> #include <Ice/Identity.h> @@ -63,9 +65,10 @@ public: const Mode mode; const bool secure; const bool compress; - const std::vector<EndpointPtr> origEndpoints; // Original endpoints. - const std::vector<EndpointPtr> endpoints; // Actual endpoints, changed by a location forwards. + const std::string adapterId; + const std::vector<EndpointPtr> endpoints; const RouterInfoPtr routerInfo; // Null if no router is used. + const LocatorInfoPtr locatorInfo; // Null if no locator is used. const Ice::ObjectAdapterPtr reverseAdapter; // For reverse communications using the adapter's incoming connections. const Ice::Int hashValue; @@ -79,15 +82,17 @@ public: ReferencePtr changeMode(Mode) const; ReferencePtr changeSecure(bool) const; ReferencePtr changeCompress(bool) const; + ReferencePtr changeAdapterId(const std::string&) const; ReferencePtr changeEndpoints(const std::vector<EndpointPtr>&) const; ReferencePtr changeRouter(const ::Ice::RouterPrx&) const; + ReferencePtr changeLocator(const ::Ice::LocatorPrx&) const; ReferencePtr changeDefault() const; private: - Reference(const InstancePtr&, const Ice::Identity&, const std::string&, Mode, bool, bool, - const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&, - const RouterInfoPtr&, const Ice::ObjectAdapterPtr&); + Reference(const InstancePtr&, const Ice::Identity&, const std::string&, Mode, bool, bool, const std::string&, + const std::vector<EndpointPtr>&, const RouterInfoPtr&, const LocatorInfoPtr&, + const Ice::ObjectAdapterPtr&); friend class ReferenceFactory; }; diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp index aff3f9193b8..97b1fbfb267 100644 --- a/cpp/src/Ice/ReferenceFactory.cpp +++ b/cpp/src/Ice/ReferenceFactory.cpp @@ -16,6 +16,7 @@ #include <Ice/Endpoint.h> #include <Ice/EndpointFactoryManager.h> #include <Ice/RouterInfo.h> +#include <Ice/LocatorInfo.h> using namespace std; using namespace Ice; @@ -30,9 +31,10 @@ IceInternal::ReferenceFactory::create(const Identity& ident, Reference::Mode mode, bool secure, bool compress, - const vector<EndpointPtr>& origEndpoints, + const string& adapter, const vector<EndpointPtr>& endpoints, const RouterInfoPtr& routerInfo, + const LocatorInfoPtr& locatorInfo, const ObjectAdapterPtr& reverseAdapter) { Mutex::Lock sync(*this); @@ -45,9 +47,8 @@ IceInternal::ReferenceFactory::create(const Identity& ident, // // Create new reference // - ReferencePtr ref = new Reference(_instance, ident, facet, mode, secure, compress, - origEndpoints, endpoints, - routerInfo, reverseAdapter); + ReferencePtr ref = new Reference(_instance, ident, facet, mode, secure, compress, adapter, + endpoints, routerInfo, locatorInfo, reverseAdapter); // // If we already have an equivalent reference, use such equivalent @@ -118,7 +119,7 @@ IceInternal::ReferenceFactory::create(const string& str) throw ProxyParseException(__FILE__, __LINE__); } - end = s.find_first_of(delim + ":", beg); + end = s.find_first_of(delim + ":@", beg); if(end == string::npos) { end = s.length(); @@ -134,6 +135,7 @@ IceInternal::ReferenceFactory::create(const string& str) Reference::Mode mode = Reference::ModeTwoway; bool secure = false; bool compress = false; + string adapter; while(true) { @@ -143,12 +145,12 @@ IceInternal::ReferenceFactory::create(const string& str) break; } - if(s[beg] == ':') + if(s[beg] == ':' || s[beg] == '@') { break; } - end = s.find_first_of(delim + ":", beg); + end = s.find_first_of(delim + ":@", beg); if(end == string::npos) { end = s.length(); @@ -170,7 +172,7 @@ IceInternal::ReferenceFactory::create(const string& str) if(argumentBeg != string::npos && str[argumentBeg] != '-') { beg = argumentBeg; - end = str.find_first_of(delim + ":", beg); + end = str.find_first_of(delim + ":@", beg); if(end == string::npos) { end = str.length(); @@ -271,56 +273,53 @@ IceInternal::ReferenceFactory::create(const string& str) } } - vector<EndpointPtr> origEndpoints; vector<EndpointPtr> endpoints; - - bool orig = true; - while(end < s.length() && s[end] == ':') + if(beg != string::npos) { - beg = end + 1; - - end = s.find(':', beg); - if(end == string::npos) + if(s[beg] == ':') { - end = s.length(); + end = beg; + + while (end < s.length() && s[end] == ':') + { + beg = end + 1; + + end = s.find(':', beg); + if (end == string::npos) + { + end = s.length(); + } + + string es = s.substr(beg, end - beg); + EndpointPtr endp = _instance->endpointFactoryManager()->create(es); + endpoints.push_back(endp); + } } - - if(beg == end) // "::" + else if(s[beg] == '@') { - if(!orig) + beg = str.find_first_not_of(delim, beg + 1); + if (beg == string::npos) + { + beg = end + 1; + } + + end = str.find_first_of(delim, beg); + if (end == string::npos) + { + end = str.length(); + } + + adapter = str.substr(beg, end - beg); + if(adapter.empty()) { throw ProxyParseException(__FILE__, __LINE__); } - - orig = false; - continue; - } - - string es = s.substr(beg, end - beg); - EndpointPtr endp = _instance->endpointFactoryManager()->create(es); - - if(orig) - { - origEndpoints.push_back(endp); - } - else - { - endpoints.push_back(endp); } } - if(orig) - { - endpoints = origEndpoints; - } - - if(!origEndpoints.size() || !endpoints.size()) - { - throw ProxyParseException(__FILE__, __LINE__); - } - RouterInfoPtr routerInfo = _instance->routerManager()->get(getDefaultRouter()); - return create(ident, facet, mode, secure, compress, origEndpoints, endpoints, routerInfo, 0); + LocatorInfoPtr locatorInfo = _instance->locatorManager()->get(getDefaultLocator()); + return create(ident, facet, mode, secure, compress, adapter, endpoints, routerInfo, locatorInfo, 0); } ReferencePtr @@ -348,37 +347,29 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s) bool compress; s->read(compress); - vector<EndpointPtr> origEndpoints; vector<EndpointPtr> endpoints; + string adapterId; Ice::Int sz; s->readSize(sz); - origEndpoints.reserve(sz); - while(sz--) - { - EndpointPtr endpoint = _instance->endpointFactoryManager()->read(s); - origEndpoints.push_back(endpoint); - } - - bool same; - s->read(same); - if(same) // origEndpoints == endpoints - { - endpoints = origEndpoints; - } - else + + if(sz > 0) { - s->readSize(sz); endpoints.reserve(sz); while(sz--) { - EndpointPtr endpoint = _instance->endpointFactoryManager()->read(s); + EndpointPtr endpoint = _instance->endpointFactoryManager()->read(s); endpoints.push_back(endpoint); } } + else + { + s->read(adapterId); + } RouterInfoPtr routerInfo = _instance->routerManager()->get(getDefaultRouter()); - return create(ident, facet, mode, secure, compress, origEndpoints, endpoints, routerInfo, 0); + LocatorInfoPtr locatorInfo = _instance->locatorManager()->get(getDefaultLocator()); + return create(ident, facet, mode, secure, compress, adapterId, endpoints, routerInfo, locatorInfo, 0); } void @@ -395,6 +386,20 @@ IceInternal::ReferenceFactory::getDefaultRouter() const return _defaultRouter; } +void +IceInternal::ReferenceFactory::setDefaultLocator(const LocatorPrx& defaultLocator) +{ + IceUtil::Mutex::Lock sync(*this); + _defaultLocator = defaultLocator; +} + +LocatorPrx +IceInternal::ReferenceFactory::getDefaultLocator() const +{ + IceUtil::Mutex::Lock sync(*this); + return _defaultLocator; +} + IceInternal::ReferenceFactory::ReferenceFactory(const InstancePtr& instance) : _instance(instance), _referencesHint(_references.end()), @@ -414,6 +419,7 @@ IceInternal::ReferenceFactory::destroy() _instance = 0; _defaultRouter = 0; + _defaultLocator = 0; _references.clear(); _referencesHint = _references.end(); } diff --git a/cpp/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h index cd7bd723c26..b7e49f76415 100644 --- a/cpp/src/Ice/ReferenceFactory.h +++ b/cpp/src/Ice/ReferenceFactory.h @@ -24,15 +24,18 @@ class ReferenceFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex { public: - ReferencePtr create(const Ice::Identity&, const std::string&, Reference::Mode, bool, bool, - const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&, - const RouterInfoPtr&, const Ice::ObjectAdapterPtr&); + ReferencePtr create(const Ice::Identity&, const std::string&, Reference::Mode, bool, bool, const std::string&, + const std::vector<EndpointPtr>&, const RouterInfoPtr&, const LocatorInfoPtr&, + const Ice::ObjectAdapterPtr&); ReferencePtr create(const std::string&); ReferencePtr create(const Ice::Identity&, BasicStream*); void setDefaultRouter(const ::Ice::RouterPrx&); Ice::RouterPrx getDefaultRouter() const; + void setDefaultLocator(const ::Ice::LocatorPrx&); + Ice::LocatorPrx getDefaultLocator() const; + private: ReferenceFactory(const InstancePtr&); @@ -41,6 +44,7 @@ private: InstancePtr _instance; Ice::RouterPrx _defaultRouter; + Ice::LocatorPrx _defaultLocator; std::set<ReferencePtr> _references; std::set<ReferencePtr>::iterator _referencesHint; int _evict; diff --git a/cpp/src/Ice/TraceLevels.cpp b/cpp/src/Ice/TraceLevels.cpp index 3829a494f65..c5574699b29 100644 --- a/cpp/src/Ice/TraceLevels.cpp +++ b/cpp/src/Ice/TraceLevels.cpp @@ -24,10 +24,13 @@ IceInternal::TraceLevels::TraceLevels(const PropertiesPtr& properties) : protocol(0), protocolCat("Protocol"), retry(0), - retryCat("Retry") + retryCat("Retry"), + location(0), + locationCat("Location") { const string keyBase = "Ice.Trace."; const_cast<int&>(network) = properties->getPropertyAsInt(keyBase + networkCat); const_cast<int&>(protocol) = properties->getPropertyAsInt(keyBase + protocolCat); const_cast<int&>(retry) = properties->getPropertyAsInt(keyBase + retryCat); + const_cast<int&>(location) = properties->getPropertyAsInt(keyBase + locationCat); } diff --git a/cpp/src/Ice/TraceLevels.h b/cpp/src/Ice/TraceLevels.h index ea2cec28fb9..c761141e3fc 100644 --- a/cpp/src/Ice/TraceLevels.h +++ b/cpp/src/Ice/TraceLevels.h @@ -32,6 +32,9 @@ public: const int retry; const char* retryCat; + + const int location; + const char* locationCat; }; } diff --git a/cpp/src/IcePack/.depend b/cpp/src/IcePack/.depend index 57fcf10e836..552d55aa8a6 100644 --- a/cpp/src/IcePack/.depend +++ b/cpp/src/IcePack/.depend @@ -1,9 +1,15 @@ Admin.o: Admin.cpp ../../include/IcePack/Admin.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h -Grammar.o: Grammar.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h -Scanner.o: Scanner.cpp ../../include/IceUtil/Config.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h ../IcePack/Grammar.h -Parser.o: Parser.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h -Client.o: Client.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h -Server.o: Server.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdminI.h ../../include/IcePack/Admin.h ../IcePack/Forward.h ../../include/IcePack/AdminF.h ../IcePack/Activator.h ../../include/IceUtil/Thread.h -Forward.o: Forward.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Forward.h ../../include/IcePack/AdminF.h ../IcePack/Activator.h ../../include/IceUtil/Thread.h ../../include/IcePack/Admin.h -AdminI.o: AdminI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdminI.h ../../include/IcePack/Admin.h -Activator.o: Activator.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Activator.h ../../include/IceUtil/Thread.h ../../include/IcePack/Admin.h +ServerManager.o: ServerManager.cpp ../IcePack/ServerManager.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/IcePack/Admin.h ../IcePack/AdapterManager.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h +AdapterManager.o: AdapterManager.cpp ../IcePack/AdapterManager.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/IcePack/Admin.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h +Activator.o: Activator.cpp ../IcePack/Activator.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../IcePack/ServerManagerF.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h ../../include/Ice/Stream.h ../../include/Ice/BuiltinSequences.h +Grammar.o: Grammar.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h +Scanner.o: Scanner.cpp ../../include/IceUtil/Config.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h ../IcePack/Grammar.h +Parser.o: Parser.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h +Client.o: Client.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/Parser.h ../../include/IcePack/Admin.h +Server.o: Server.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/LocatorI.h ../../include/Ice/Locator.h ../IcePack/AdapterManagerF.h ../IcePack/LocatorRegistryI.h ../IcePack/ServerManagerI.h ../IcePack/ServerManager.h ../../include/IcePack/Admin.h ../IcePack/AdapterManager.h ../IcePack/Activator.h ../IcePack/ServerManagerF.h ../IcePack/AdapterManagerI.h ../IcePack/AdminI.h ../IcePack/ActivatorI.h ../../include/IceUtil/Thread.h +AdapterManagerI.o: AdapterManagerI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdapterManagerI.h ../IcePack/AdapterManager.h ../../include/IcePack/Admin.h ../IcePack/ServerManager.h +ServerManagerI.o: ServerManagerI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../IcePack/ServerManagerI.h ../IcePack/ServerManager.h ../../include/IcePack/Admin.h ../IcePack/AdapterManager.h ../IcePack/Activator.h ../IcePack/ServerManagerF.h +LocatorI.o: LocatorI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdapterManager.h ../../include/IcePack/Admin.h ../IcePack/LocatorI.h ../../include/Ice/Locator.h ../IcePack/AdapterManagerF.h +LocatorRegistryI.o: LocatorRegistryI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdapterManager.h ../../include/IcePack/Admin.h ../IcePack/LocatorRegistryI.h ../../include/Ice/Locator.h ../IcePack/AdapterManagerF.h +AdminI.o: AdminI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/AdminI.h ../../include/IcePack/Admin.h ../IcePack/ServerManagerF.h ../IcePack/AdapterManagerF.h ../IcePack/ServerManager.h ../IcePack/AdapterManager.h +ActivatorI.o: ActivatorI.cpp ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/StreamF.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/Current.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Incoming.h ../../include/Ice/Direct.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Communicator.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/LocatorF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../IcePack/ActivatorI.h ../../include/IceUtil/Thread.h ../IcePack/Activator.h ../IcePack/ServerManagerF.h ../../include/IcePack/Admin.h ../IcePack/ServerManager.h ../IcePack/AdapterManager.h diff --git a/cpp/src/IcePack/Activator.ice b/cpp/src/IcePack/Activator.ice new file mode 100644 index 00000000000..cc31bd68497 --- /dev/null +++ b/cpp/src/IcePack/Activator.ice @@ -0,0 +1,34 @@ +// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef ICE_PACK_ACTIVATOR_ICE
+#define ICE_PACK_ACTIVATOR_ICE
+
+#include <IcePack/ServerManagerF.ice>
+
+module IcePack
+{
+
+interface Activator
+{
+ /**
+ *
+ * Activate a server.
+ *
+ * @param server The server to activate.
+ *
+ **/
+ bool activate(Server* server);
+};
+
+};
+
+#endif
+
diff --git a/cpp/src/IcePack/Activator.cpp b/cpp/src/IcePack/ActivatorI.cpp index 9abc223b39e..1a522510090 100644 --- a/cpp/src/IcePack/Activator.cpp +++ b/cpp/src/IcePack/ActivatorI.cpp @@ -13,17 +13,19 @@ #endif #include <Ice/Ice.h> -#include <IcePack/Activator.h> +#include <IcePack/ActivatorI.h> #include <IcePack/Admin.h> +#include <IcePack/ServerManager.h> #include <fcntl.h> using namespace std; using namespace Ice; using namespace IcePack; -IcePack::Activator::Activator(const CommunicatorPtr& communicator) : +IcePack::ActivatorI::ActivatorI(const CommunicatorPtr& communicator, const vector<string>& defaultArgs) : _communicator(communicator), - _destroy(false) + _destroy(false), + _defaultArgs(defaultArgs) { int fds[2]; if(pipe(fds) != 0) @@ -39,30 +41,30 @@ IcePack::Activator::Activator(const CommunicatorPtr& communicator) : fcntl(_fdIntrRead, F_SETFL, flags); } -IcePack::Activator::~Activator() +IcePack::ActivatorI::~ActivatorI() { assert(_destroy); close(_fdIntrRead); close(_fdIntrWrite); - for(map<string, Process>::iterator p = _processes.begin(); p != _processes.end(); ++p) + for(vector<Process>::iterator p = _processes.begin(); p != _processes.end(); ++p) { - close(p->second.fd); + close(p->fd); } } void -IcePack::Activator::run() +IcePack::ActivatorI::run() { try { terminationListener(); } - catch(const LocalException& ex) + catch(const Exception& ex) { Error out(_communicator->getLogger()); out << "exception in process termination listener:\n" << ex; } - catch (...) + catch(...) { Error out(_communicator->getLogger()); out << "unknown exception in process termination listener"; @@ -70,7 +72,7 @@ IcePack::Activator::run() } void -IcePack::Activator::destroy() +IcePack::ActivatorI::destroy() { IceUtil::Mutex::Lock sync(*this); @@ -84,7 +86,7 @@ IcePack::Activator::destroy() } bool -IcePack::Activator::activate(const ServerDescription& desc) +IcePack::ActivatorI::activate(const ServerPrx& server, const ::Ice::Current&) { IceUtil::Mutex::Lock sync(*this); @@ -93,6 +95,8 @@ IcePack::Activator::activate(const ServerDescription& desc) return false; } + ServerDescription desc = server->getServerDescription(); + string path = desc.path; if(path.empty()) { @@ -113,14 +117,6 @@ IcePack::Activator::activate(const ServerDescription& desc) } // - // Do nothing if the process exists. - // - if(_processes.count(path)) - { - return false; - } - - // // Process does not exist, activate and create. // int fds[2]; @@ -153,12 +149,53 @@ IcePack::Activator::activate(const ServerDescription& desc) } } - int argc = desc.args.size() + 2; + // + // Change working directory. + // + string pwd = desc.pwd; + if(!pwd.empty()) + { + string::size_type pos; + while((pos = pwd.find("//")) != string::npos) + { + pwd.erase(pos, 1); + } + while((pos = pwd.find("/./")) != string::npos) + { + pwd.erase(pos, 2); + } + + if(chdir(pwd.c_str()) == -1) + { + // + // Send any errors to the parent process, using the write + // end of the pipe. + // + SystemException ex(__FILE__, __LINE__); + ex.error = getSystemErrno(); + ostringstream s; + s << "can't change working directory to `" << pwd << "':\n" << ex; + write(fds[1], s.str().c_str(), s.str().length()); + close(fds[1]); + exit(EXIT_FAILURE); + } + } + + // + // Compute arguments. + // + int argc = desc.args.size() + _defaultArgs.size() + 2; char** argv = static_cast<char**>(malloc(argc * sizeof(char*))); argv[0] = strdup(path.c_str()); - for(unsigned int i = 0; i < desc.args.size(); ++i) + unsigned int i = 0; + vector<string>::const_iterator q; + for(q = desc.args.begin(); q != desc.args.end(); ++q, ++i) { - argv[i + 1] = strdup(desc.args[i].c_str()); + argv[i + 1] = strdup(q->c_str()); + } + for(q = _defaultArgs.begin(); q != _defaultArgs.end(); ++q, ++i) + { + argv[i + 1] = strdup(q->c_str()); } argv[argc - 1] = 0; @@ -184,12 +221,13 @@ IcePack::Activator::activate(const ServerDescription& desc) Process process; process.pid = pid; process.fd = fds[0]; - _processes[path] = process; - + process.server = server; + _processes.push_back(process); + int flags = fcntl(process.fd, F_GETFL); flags |= O_NONBLOCK; fcntl(process.fd, F_SETFL, flags); - + setInterrupt(); } @@ -197,7 +235,7 @@ IcePack::Activator::activate(const ServerDescription& desc) } void -IcePack::Activator::terminationListener() +IcePack::ActivatorI::terminationListener() { while(true) { @@ -214,9 +252,9 @@ IcePack::Activator::terminationListener() return; } - for(map<string, Process>::iterator p = _processes.begin(); p != _processes.end(); ++p) + for(vector<Process>::iterator p = _processes.begin(); p != _processes.end(); ++p) { - int fd = p->second.fd; + int fd = p->fd; FD_SET(fd, &fdSet); if(maxFd < fd) { @@ -254,48 +292,68 @@ IcePack::Activator::terminationListener() return; } - map<string, Process>::iterator p = _processes.begin(); + vector<Process>::iterator p = _processes.begin(); while(p != _processes.end()) { - int fd = p->second.fd; + int fd = p->fd; if(FD_ISSET(fd, &fdSet)) { char s[16]; - int ret = read(fd, &s, 16); + int ret; + string message; + + // + // Read the message over the pipe. + // + while((ret = read(fd, &s, 16)) > 0) + { + message.append(s, ret); + } + if(ret == -1) { - SystemException ex(__FILE__, __LINE__); - ex.error = getSystemErrno(); - throw ex; + if(errno != EAGAIN || message.empty()) + { + SystemException ex(__FILE__, __LINE__); + ex.error = getSystemErrno(); + throw ex; + } + + ++p; } else if(ret == 0) { + ServerPrx server = p->server; + // // If the pipe was closed, the process has // terminated. // - map<string, Process>::iterator q = p; - ++p; - _processes.erase(q); + p = _processes.erase(p); close(fd); - } - else - { + // - // Other messages that are sent down the pipe - // are interpreted as error messages and - // logged as error. + // Notify the server it has terminated. // - string err; - do + try + { + server->terminationCallback(); + } + catch(const Ice::ObjectAdapterDeactivatedException&) { - err.append(s, ret); - ret = read(fd, &s, 16); + // + // Expected when IcePack is shutdown. + // } - while(ret != 0); + } + // + // Log the received message. + // + if(!message.empty()) + { Error out(_communicator->getLogger()); - out << err; + out << message; } } else @@ -308,7 +366,7 @@ IcePack::Activator::terminationListener() } void -IcePack::Activator::clearInterrupt() +IcePack::ActivatorI::clearInterrupt() { char s[32]; // Clear up to 32 interrupts at once. while(read(_fdIntrRead, s, 32) == 32) @@ -317,7 +375,7 @@ IcePack::Activator::clearInterrupt() } void -IcePack::Activator::setInterrupt() +IcePack::ActivatorI::setInterrupt() { char c = 0; write(_fdIntrWrite, &c, 1); diff --git a/cpp/src/IcePack/Activator.h b/cpp/src/IcePack/ActivatorI.h index c5bb6943c1b..540653ee79c 100644 --- a/cpp/src/IcePack/Activator.h +++ b/cpp/src/IcePack/ActivatorI.h @@ -1,55 +1,58 @@ -// ********************************************************************** -// -// Copyright (c) 2001 -// MutableRealms, Inc. -// Huntsville, AL, USA -// -// All Rights Reserved -// -// ********************************************************************** - -#ifndef ICE_PACK_ACTIVATOR_H -#define ICE_PACK_ACTIVATOR_H - -#include <IceUtil/Thread.h> - -namespace IcePack -{ - -struct ServerDescription; - -class Activator : public IceUtil::Thread, public IceUtil::Mutex -{ -public: - - Activator(const Ice::CommunicatorPtr&); - virtual ~Activator(); - - virtual void run(); - void destroy(); - bool activate(const IcePack::ServerDescription&); - -private: - - void terminationListener(); - void clearInterrupt(); - void setInterrupt(); - - struct Process - { - pid_t pid; - int fd; - }; - - Ice::CommunicatorPtr _communicator; - std::map<std::string, Process> _processes; - bool _destroy; - int _fdIntrRead; - int _fdIntrWrite; -}; - -typedef IceUtil::Handle<Activator> ActivatorPtr; - -} - -#endif +// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef ICE_PACK_ACTIVATOR_H
+#define ICE_PACK_ACTIVATOR_H
+
+#include <IceUtil/Thread.h>
+#include <IcePack/Activator.h>
+#include <IcePack/ServerManagerF.h>
+
+namespace IcePack
+{
+
+class ActivatorI : public Activator, public IceUtil::Thread, public IceUtil::Mutex
+{
+public:
+
+ ActivatorI(const Ice::CommunicatorPtr&, const std::vector<std::string>&);
+ virtual ~ActivatorI();
+
+ virtual void run();
+ void destroy();
+
+ virtual bool activate(const ::IcePack::ServerPrx&, const ::Ice::Current&);
+
+private:
+
+ void terminationListener();
+ void clearInterrupt();
+ void setInterrupt();
+
+ struct Process
+ {
+ pid_t pid;
+ int fd;
+ ServerPrx server;
+ };
+
+ Ice::CommunicatorPtr _communicator;
+ std::vector<Process> _processes;
+ bool _destroy;
+ int _fdIntrRead;
+ int _fdIntrWrite;
+ std::vector<std::string> _defaultArgs;
+};
+
+typedef IceUtil::Handle<ActivatorI> ActivatorIPtr;
+
+}
+
+#endif
diff --git a/cpp/src/IcePack/AdapterManager.ice b/cpp/src/IcePack/AdapterManager.ice new file mode 100644 index 00000000000..301a6b06972 --- /dev/null +++ b/cpp/src/IcePack/AdapterManager.ice @@ -0,0 +1,176 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_ADAPTER_MANAGER_ICE +#define ICE_PACK_ADAPTER_MANAGER_ICE + +#include <IcePack/Admin.ice> + +module IcePack +{ + +/** + * + * Forward declaration. + * + */ +class Server; + +/** + * + * This exception is raised if the activation of an adapter exceed the + * time specified by the <literal>IcePack.Activation.WaitTime</literal> + * configuration variable. + * + **/ +exception AdapterActivationTimeoutException +{ + string message; +}; + +struct AdapterDescription +{ + /** + * + * Adapter name. + * + **/ + string name; + + /** + * + * Server proxy to which this adapter is associated to. If null, + * no automatic activation of the server will be performed. + * + **/ + Server* server; +}; + +class Adapter +{ + /** + * + * Adapter description. + * + * @return The adapter description. + * + **/ + AdapterDescription getAdapterDescription(); + + /** + * + * Get a proxy for this adapter. + * + * @param activate If true and if the adapter is registered with a + * server, the server will be started if the adapter status is + * inactive. If false, no activation will be performed and the + * last known direct proxy will be returned. + * + * @return A direct proxy for the adapter. + * + * @throws ActivationTimeoutException Raised if the time needed to + * activate the adapter exceeded the time specified by the + * <literal>IcePack.Activation.WaitTime</literal> configuration + * variable. + * + **/ + Object* getDirectProxy(bool activate) + throws AdapterActivationTimeoutException; + + /** + * + * Set the active proxy created from the adapter. + * + **/ + void setDirectProxy(Object* proxy); + + /** + * + * Mark the adapter as active. + * + **/ + void markAsActive(); + + /** + * + * Mark the adapter as inactive. + * + **/ + void markAsInactive(); + + /** + * + * The description of this objet adapter. + * + */ + AdapterDescription _description; + + /** + * + * A direct proxy created from the adapter. + * + */ + Object* _proxy; + + /** + * + * The state of the adapter, true if active false otherwise. + * + */ + bool _active; +}; + +/** + * + * A sequence of adapter proxies. + * + **/ +sequence<Adapter*> Adapters; + +class AdapterManager +{ + /** + * + * Create an adapter. + * + **/ + Adapter* create(AdapterDescription description) + throws AdapterExistsException; + + /** + * + * Find an adapter and return its proxy. + * + * @param name Name of the adapter. + * + * @return Adapter proxy. + * + **/ + Adapter* findByName(string name); + + /** + * + * Remove an adapter. + * + **/ + void remove(string name) + throws AdapterNotExistException; + + /** + * + * Get all adapter names. + * + **/ + AdapterNames getAll(); +}; + +}; + +#endif diff --git a/cpp/src/IcePack/AdapterManagerF.ice b/cpp/src/IcePack/AdapterManagerF.ice new file mode 100644 index 00000000000..21c01c24752 --- /dev/null +++ b/cpp/src/IcePack/AdapterManagerF.ice @@ -0,0 +1,23 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_ADAPTER_MANAGER_F_ICE +#define ICE_PACK_ADAPTER_MANAGER_F_ICE + +module IcePack +{ + +class Adapter; +interface AdapterManager; + +}; + +#endif + diff --git a/cpp/src/IcePack/AdapterManagerI.cpp b/cpp/src/IcePack/AdapterManagerI.cpp new file mode 100644 index 00000000000..8b5eccfeec6 --- /dev/null +++ b/cpp/src/IcePack/AdapterManagerI.cpp @@ -0,0 +1,200 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <IcePack/AdapterManagerI.h> +#include <IcePack/ServerManager.h> + +using namespace std; +using namespace Ice; +using namespace IcePack; + +IcePack::AdapterI::AdapterI(Int waitTime) : + _waitTime(waitTime) +{ +} + +IcePack::AdapterI::~AdapterI() +{ +} + +AdapterDescription +IcePack::AdapterI::getAdapterDescription(const Current&) +{ + return _description; +} + +ObjectPrx +IcePack::AdapterI::getDirectProxy(bool activate, const Current&) +{ + ::IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + + if(!activate || !_description.server || _active) + { + return _proxy; + } + + // + // If there's a server associated to this adapter, try to start + // the server and wait for the adapter state to change. + // + if(_description.server && _description.server->start()) + { + // + // Wait for this adapter to be marked as active or the + // activation timeout. + // + while(!_active) + { + bool notify = timedWait(IceUtil::Time::seconds(_waitTime)); + if(!notify) + { + throw AdapterActivationTimeoutException(); + } + } + } + + return _proxy; +} + +void +IcePack::AdapterI::setDirectProxy(const ObjectPrx& proxy, const Current&) +{ + ::IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + _proxy = proxy; +} + +void +IcePack::AdapterI::markAsActive(const Current&) +{ + ::IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + _active = true; + notifyAll(); +} + +void +IcePack::AdapterI::markAsInactive(const Current&) +{ + ::IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + _active = false; + notifyAll(); +} + +class AdapterNameToAdapter +{ +public: + + AdapterNameToAdapter(const ObjectAdapterPtr& adapter) : + _adapter(adapter) + { + } + + AdapterPrx + operator()(const string& name) + { + Identity ident; + ident.category = "adapter"; + ident.name = name; + return AdapterPrx::uncheckedCast(_adapter->createProxy(ident)); + } + +private: + + ObjectAdapterPtr _adapter; +}; + +IcePack::AdapterManagerI::AdapterManagerI(const ObjectAdapterPtr& adapter) : + _adapter(adapter) +{ + Ice::PropertiesPtr properties = adapter->getCommunicator()->getProperties(); + _waitTime = properties->getPropertyAsIntWithDefault("IcePack.Activation.WaitTime", 10); +} + +AdapterPrx +IcePack::AdapterManagerI::create(const AdapterDescription& description, const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + AdapterPrx adapter = AdapterNameToAdapter(_adapter)(description.name); + try + { + adapter->ice_ping(); + + // + // The adapter already exists. + // + throw AdapterExistsException(); + } + catch(const ObjectNotExistException&) + { + } + + AdapterPtr adapterI = new AdapterI(_waitTime); + adapterI->_description = description; + adapterI->_active = false; + adapterI->_proxy = 0; + + // + // Add this adapter name to our adapter names internal set. + // + _adapterNames.insert(description.name); + + return AdapterPrx::uncheckedCast(_adapter->add(adapterI, adapter->ice_getIdentity())); +} + +AdapterPrx +IcePack::AdapterManagerI::findByName(const string& name, const Current&) +{ + AdapterPrx adapter = AdapterNameToAdapter(_adapter)(name); + try + { + adapter->ice_ping(); + return adapter; + } + catch(const ObjectNotExistException&) + { + return 0; + } +} + +void +IcePack::AdapterManagerI::remove(const string& name, const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + AdapterPrx adapter = AdapterNameToAdapter(_adapter)(name); + try + { + adapter->ice_ping(); + } + catch(const ObjectNotExistException&) + { + throw AdapterNotExistException(); + } + + _adapter->remove(adapter->ice_getIdentity()); + + // + // Remove the adapter name from our internal name set. + // + _adapterNames.erase(_adapterNames.find(name)); +} + +AdapterNames +IcePack::AdapterManagerI::getAll(const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + AdapterNames names; + names.reserve(_adapterNames.size()); + copy(_adapterNames.begin(), _adapterNames.end(), back_inserter(names)); + + return names; +} diff --git a/cpp/src/IcePack/AdapterManagerI.h b/cpp/src/IcePack/AdapterManagerI.h new file mode 100644 index 00000000000..c4e6ab15352 --- /dev/null +++ b/cpp/src/IcePack/AdapterManagerI.h @@ -0,0 +1,60 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_ADAPTER_MANAGER_I_H +#define ICE_PACK_ADAPTER_MANAGER_I_H + +#include <IceUtil/Mutex.h> +#include <IceUtil/Monitor.h> +#include <IcePack/AdapterManager.h> +#include <set> + +namespace IcePack +{ + +class AdapterI : public Adapter, public IceUtil::Monitor< ::IceUtil::Mutex> +{ +public: + + AdapterI(::Ice::Int); + virtual ~AdapterI(); + + virtual AdapterDescription getAdapterDescription(const ::Ice::Current&); + virtual ::Ice::ObjectPrx getDirectProxy(bool, const ::Ice::Current&); + virtual void setDirectProxy(const ::Ice::ObjectPrx&,const ::Ice::Current&); + virtual void markAsActive(const ::Ice::Current&); + virtual void markAsInactive(const ::Ice::Current&); + +private: + + ::Ice::Int _waitTime; +}; + +class AdapterManagerI : public AdapterManager, public IceUtil::Mutex +{ +public: + + AdapterManagerI(const Ice::ObjectAdapterPtr&); + + virtual AdapterPrx create(const AdapterDescription&, const ::Ice::Current&); + virtual AdapterPrx findByName(const ::std::string&, const ::Ice::Current&); + virtual void remove(const ::std::string&, const ::Ice::Current&); + virtual AdapterNames getAll(const ::Ice::Current&); + +private: + + ::Ice::ObjectAdapterPtr _adapter; + ::std::set< ::std::string> _adapterNames; + ::Ice::Int _waitTime; +}; + +} + +#endif diff --git a/cpp/src/IcePack/AdminI.cpp b/cpp/src/IcePack/AdminI.cpp index f9cd01dc2a8..fd6ff00c17c 100644 --- a/cpp/src/IcePack/AdminI.cpp +++ b/cpp/src/IcePack/AdminI.cpp @@ -10,58 +10,139 @@ #include <Ice/Ice.h> #include <IcePack/AdminI.h> +#include <IcePack/ServerManager.h> +#include <IcePack/AdapterManager.h> using namespace std; using namespace Ice; using namespace IcePack; -IcePack::AdminI::AdminI(const CommunicatorPtr& communicator) : - _communicator(communicator) +IcePack::AdminI::AdminI(const CommunicatorPtr& communicator, const ServerManagerPrx& serverManager, + const AdapterManagerPrx& adapterManager) : + _communicator(communicator), + _serverManager(serverManager), + _adapterManager(adapterManager) { } void -IcePack::AdminI::add(const ServerDescription& desc, const Ice::Current&) +IcePack::AdminI::addServer(const ServerDescription& desc, const Current&) { - IceUtil::Mutex::Lock sync(*this); + _serverManager->create(desc); +} - if(desc.obj) +ServerDescription +IcePack::AdminI::getServerDescription(const string& name, const Current&) +{ + ServerPrx server = _serverManager->findByName(name); + if(server) { - _serverDescriptions[desc.obj->ice_getIdentity()] = desc; + try + { + return server->getServerDescription(); + } + catch(const ObjectNotExistException&) + { + } } + throw ServerNotExistException(); } -void -IcePack::AdminI::remove(const Identity& ident, const Ice::Current&) +ServerState +IcePack::AdminI::getServerState(const string& name, const Current&) { - IceUtil::Mutex::Lock sync(*this); - _serverDescriptions.erase(ident); + ServerPrx server = _serverManager->findByName(name); + if(server) + { + try + { + return server->getState(); + } + catch(const ObjectNotExistException&) + { + } + } + throw ServerNotExistException(); } -ServerDescription -IcePack::AdminI::find(const Identity& ident, const Ice::Current&) +bool +IcePack::AdminI::startServer(const string& name, const Current&) { - IceUtil::Mutex::Lock sync(*this); - - ServerDescriptions::iterator p = _serverDescriptions.find(ident); - if(p != _serverDescriptions.end()) + ServerPrx server = _serverManager->findByName(name); + if(server) { - return p->second; + try + { + return server->start(); + } + catch(const ObjectNotExistException&) + { + } } - else + throw ServerNotExistException(); +} + +void +IcePack::AdminI::removeServer(const string& name, const Current&) +{ + _serverManager->remove(name); +} + +ServerNames +IcePack::AdminI::getAllServerNames(const Current&) +{ + return _serverManager->getAll(); +} + +void +IcePack::AdminI::addAdapterWithEndpoints(const string& name, const string& endpoints, const Current&) +{ + AdapterDescription desc; + desc.name = name; + + // + // Create the adapter. + // + AdapterPrx adapter = _adapterManager->create(desc); + + // + // Set the adapter direct proxy. + // + ObjectPrx object = _communicator->stringToProxy("dummy:" + endpoints); + adapter->setDirectProxy(object); +} + +void +IcePack::AdminI::removeAdapter(const string& name, const Current&) +{ + _adapterManager->remove(name); +} + +string +IcePack::AdminI::getAdapterEndpoints(const string& name, const Current&) +{ + AdapterPrx adapter = _adapterManager->findByName(name); + if(adapter) { - return ServerDescription(); + try + { + return _communicator->proxyToString(adapter->getDirectProxy(false)); + } + catch(const ObjectNotExistException&) + { + } } + throw AdapterNotExistException(); } -ServerDescriptions -IcePack::AdminI::getAll(const Ice::Current&) +AdapterNames +IcePack::AdminI::getAllAdapterNames(const Current&) { - return _serverDescriptions; + return _adapterManager->getAll(); } void -IcePack::AdminI::shutdown(const Ice::Current&) +IcePack::AdminI::shutdown(const Current&) { _communicator->shutdown(); } diff --git a/cpp/src/IcePack/AdminI.h b/cpp/src/IcePack/AdminI.h index 6c000d2cbcc..77b57fc299f 100644 --- a/cpp/src/IcePack/AdminI.h +++ b/cpp/src/IcePack/AdminI.h @@ -12,6 +12,8 @@ #define ICE_PACK_ADMIN_I_H #include <IcePack/Admin.h> +#include <IcePack/ServerManagerF.h> +#include <IcePack/AdapterManagerF.h> namespace IcePack { @@ -20,17 +22,27 @@ class AdminI : public Admin, public IceUtil::Mutex { public: - AdminI(const Ice::CommunicatorPtr&); + AdminI(const Ice::CommunicatorPtr&, const ServerManagerPrx&, const AdapterManagerPrx&); + + virtual void addServer(const ServerDescription&, const Ice::Current&); + virtual ServerDescription getServerDescription(const ::std::string&, const Ice::Current&); + virtual ServerState getServerState(const ::std::string&, const Ice::Current&); + virtual bool startServer(const ::std::string&, const Ice::Current&); + virtual void removeServer(const ::std::string&, const Ice::Current&); + virtual ServerNames getAllServerNames(const Ice::Current&); + + virtual void addAdapterWithEndpoints(const ::std::string&, const ::std::string&, const ::Ice::Current&); + virtual void removeAdapter(const ::std::string&, const ::Ice::Current&); + virtual ::std::string getAdapterEndpoints(const ::std::string&, const ::Ice::Current&); + virtual AdapterNames getAllAdapterNames(const ::Ice::Current&); - virtual void add(const ServerDescription&, const Ice::Current&); - virtual void remove(const Ice::Identity&, const Ice::Current&); - virtual ServerDescription find(const Ice::Identity&, const Ice::Current&); - virtual ServerDescriptions getAll(const Ice::Current&); virtual void shutdown(const Ice::Current&); private: Ice::CommunicatorPtr _communicator; + ServerManagerPrx _serverManager; + AdapterManagerPrx _adapterManager; }; } diff --git a/cpp/src/IcePack/Client.cpp b/cpp/src/IcePack/Client.cpp index fe379cae26e..8b1be751591 100644 --- a/cpp/src/IcePack/Client.cpp +++ b/cpp/src/IcePack/Client.cpp @@ -142,19 +142,12 @@ Client::run(int argc, char* argv[]) return EXIT_FAILURE; } - const char* adminEndpointsProperty = "IcePack.Admin.Endpoints"; - string adminEndpoints = properties->getProperty(adminEndpointsProperty); - if(adminEndpoints.empty()) - { - cerr << appName() << ": property `" << adminEndpointsProperty << "' is not set" << endl; - return EXIT_FAILURE; - } + Ice::ObjectPrx base = communicator()->stringToProxy("IcePack/admin@IcePack.Admin"); - Ice::ObjectPrx base = communicator()->stringToProxy("admin:" + adminEndpoints); AdminPrx admin = AdminPrx::checkedCast(base); if(!admin) { - cerr << appName() << ": `" << adminEndpoints << "' are no valid administrative endpoints" << endl; + cerr << appName() << ": `" << "' are no valid administrative endpoints" << endl; return EXIT_FAILURE; } diff --git a/cpp/src/IcePack/Grammar.y b/cpp/src/IcePack/Grammar.y index 51e02179c67..5d67cabc7e0 100644 --- a/cpp/src/IcePack/Grammar.y +++ b/cpp/src/IcePack/Grammar.y @@ -35,11 +35,21 @@ yyerror(const char* s) %token ICE_PACK_HELP %token ICE_PACK_EXIT +%token ICE_PACK_SERVER +%token ICE_PACK_ADAPTER %token ICE_PACK_ADD %token ICE_PACK_REMOVE %token ICE_PACK_LIST %token ICE_PACK_SHUTDOWN %token ICE_PACK_STRING +%token ICE_PACK_START +%token ICE_PACK_DESCRIBE +%token ICE_PACK_STATE +%token ICE_PACK_ENDPOINTS +%token ICE_PACK_ADAPTERS +%token ICE_PACK_OPTIONS +%token ICE_PACK_OPEN_BRACKET +%token ICE_PACK_CLOSE_BRACKET %% @@ -76,17 +86,44 @@ command { return 0; } -| ICE_PACK_ADD strings ';' +| ICE_PACK_SERVER ICE_PACK_ADD server_add_options ';' { - parser->add($2); } -| ICE_PACK_REMOVE strings ';' +| ICE_PACK_SERVER ICE_PACK_START strings ';' { - parser->remove($2); + parser->startServer($3); } -| ICE_PACK_LIST ';' +| ICE_PACK_SERVER ICE_PACK_DESCRIBE strings ';' { - parser->listAll(); + parser->describeServer($3); +} +| ICE_PACK_SERVER ICE_PACK_STATE strings ';' +{ + parser->stateServer($3); +} +| ICE_PACK_SERVER ICE_PACK_REMOVE strings ';' +{ + parser->removeServer($3); +} +| ICE_PACK_SERVER ICE_PACK_LIST ';' +{ + parser->listAllServers(); +} +| ICE_PACK_ADAPTER ICE_PACK_ADD strings ';' +{ + parser->addAdapter($3); +} +| ICE_PACK_ADAPTER ICE_PACK_ENDPOINTS strings ';' +{ + parser->endpointsAdapter($3); +} +| ICE_PACK_ADAPTER ICE_PACK_REMOVE strings ';' +{ + parser->removeAdapter($3); +} +| ICE_PACK_ADAPTER ICE_PACK_LIST ';' +{ + parser->listAllAdapters(); } | ICE_PACK_SHUTDOWN ';' { @@ -102,6 +139,54 @@ command ; // ---------------------------------------------------------------------- +server_add_options +// ---------------------------------------------------------------------- +: strings adapters options +{ + parser->addServer($1, $2, $3); +} +| strings options adapters +{ + parser->addServer($1, $3, $2); +} +| strings adapters +{ + parser->addServer($1, $2, list<string>()); +} +| strings options +{ + parser->addServer($1, list<string>(), $2); +} +| strings +{ + parser->addServer($1, list<string>(), list<string>()); +}; + +// ---------------------------------------------------------------------- +adapters +// ---------------------------------------------------------------------- +: ICE_PACK_ADAPTERS ICE_PACK_OPEN_BRACKET strings ICE_PACK_CLOSE_BRACKET +{ + $$ = $3; +} +| ICE_PACK_ADAPTERS ICE_PACK_OPEN_BRACKET ICE_PACK_CLOSE_BRACKET +{ + $$ = list<string>(); +}; + +// ---------------------------------------------------------------------- +options +// ---------------------------------------------------------------------- +: ICE_PACK_OPTIONS ICE_PACK_OPEN_BRACKET strings ICE_PACK_CLOSE_BRACKET +{ + $$ = $3; +} +| ICE_PACK_OPTIONS ICE_PACK_OPEN_BRACKET ICE_PACK_CLOSE_BRACKET +{ + $$ = list<string>(); +}; + +// ---------------------------------------------------------------------- strings // ---------------------------------------------------------------------- : ICE_PACK_STRING strings diff --git a/cpp/src/IcePack/LocatorI.cpp b/cpp/src/IcePack/LocatorI.cpp new file mode 100644 index 00000000000..28e62fa48f3 --- /dev/null +++ b/cpp/src/IcePack/LocatorI.cpp @@ -0,0 +1,51 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> + +#include <IcePack/AdapterManager.h> +#include <IcePack/LocatorI.h> + +using namespace std; +using namespace Ice; +using namespace IcePack; + +IcePack::LocatorI::LocatorI(const AdapterManagerPrx& adapters, const LocatorRegistryPrx& registry) : + _adapters(adapters), + _registry(registry) +{ +} + +Ice::ObjectPrx +IcePack::LocatorI::findAdapterByName(const string& name, const Current&) +{ + try + { + AdapterPrx adapter = _adapters->findByName(name); + if(adapter) + { + return adapter->getDirectProxy(true); + } + } + catch (const AdapterActivationTimeoutException&) + { + } + catch (const ObjectNotExistException&) + { + } + + return 0; +} + +Ice::LocatorRegistryPrx +IcePack::LocatorI::getRegistry(const Current&) +{ + return _registry; +} diff --git a/cpp/src/IcePack/LocatorI.h b/cpp/src/IcePack/LocatorI.h new file mode 100644 index 00000000000..8d7e316a6d5 --- /dev/null +++ b/cpp/src/IcePack/LocatorI.h @@ -0,0 +1,38 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_LOCATOR_I_H +#define ICE_PACK_LOCATOR_I_H + +#include <Ice/Locator.h> +#include <Ice/ProxyF.h> +#include <IcePack/AdapterManagerF.h> + +namespace IcePack +{ + +class LocatorI : public ::Ice::Locator +{ +public: + LocatorI(const AdapterManagerPrx&, const ::Ice::LocatorRegistryPrx&); + + virtual ::Ice::ObjectPrx findAdapterByName(const std::string&, const ::Ice::Current&); + + virtual ::Ice::LocatorRegistryPrx getRegistry(const ::Ice::Current&); + +private: + + AdapterManagerPrx _adapters; + ::Ice::LocatorRegistryPrx _registry; +}; + +} + +#endif diff --git a/cpp/src/IcePack/LocatorRegistryI.cpp b/cpp/src/IcePack/LocatorRegistryI.cpp new file mode 100644 index 00000000000..8b961fe9925 --- /dev/null +++ b/cpp/src/IcePack/LocatorRegistryI.cpp @@ -0,0 +1,75 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <IcePack/AdapterManager.h> +#include <IcePack/LocatorRegistryI.h> + +using namespace std; +using namespace Ice; +using namespace IcePack; + +IcePack::LocatorRegistryI::LocatorRegistryI(const AdapterManagerPrx& adapters) : + _adapters(adapters) +{ +} + +void +IcePack::LocatorRegistryI::addAdapter(const string& name, const ObjectPrx& proxy, const Current&) +{ + while(true) + { + // + // Get the adapter from the manager. + // + AdapterPrx adapter = _adapters->findByName(name); + + if(adapter) + { + // + // Set the adapter direct proxy and return. + // + try + { + adapter->setDirectProxy(proxy); + + // + // The adapter is ready to receive requests even if + // it's not active. + // + adapter->markAsActive(); + + return; + } + catch (const ObjectNotExistException&) + { + } + } + + // + // Adapter doesn't exist yet, create the adapter. + // + AdapterDescription desc; + desc.name = name; + desc.server = 0; + + try + { + adapter = _adapters->create(desc); + } + catch (const AdapterExistsException&) + { + // + // Ignore, another thread probably created at the same + // time this adapter. + // + } + } +} diff --git a/cpp/src/IcePack/LocatorRegistryI.h b/cpp/src/IcePack/LocatorRegistryI.h new file mode 100644 index 00000000000..317f228ddab --- /dev/null +++ b/cpp/src/IcePack/LocatorRegistryI.h @@ -0,0 +1,36 @@ + +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_LOCATOR_REGISTRY_I_H +#define ICE_PACK_LOCATOR_REGISTRY_I_H + +#include <Ice/Locator.h> +#include <Ice/ProxyF.h> +#include <IcePack/AdapterManagerF.h> + +namespace IcePack +{ + +class LocatorRegistryI : public Ice::LocatorRegistry +{ +public: + LocatorRegistryI(const AdapterManagerPrx&); + + virtual void addAdapter(const ::std::string&, const ::Ice::ObjectPrx&, const ::Ice::Current&); + +private: + + AdapterManagerPrx _adapters; +}; + +} + +#endif diff --git a/cpp/src/IcePack/Makefile b/cpp/src/IcePack/Makefile index a669287f789..e6f9a0bed69 100644 --- a/cpp/src/IcePack/Makefile +++ b/cpp/src/IcePack/Makefile @@ -21,7 +21,10 @@ SERVER = $(top_srcdir)/bin/icepack TARGETS = $(NAME) $(VERSIONED_NAME) $(CLIENT) $(SERVER) -OBJS = Admin.o +OBJS = Admin.o \ + ServerManager.o \ + AdapterManager.o \ + Activator.o COBJS = Grammar.o \ Scanner.o \ @@ -29,9 +32,12 @@ COBJS = Grammar.o \ Client.o SOBJS = Server.o \ - Forward.o \ + AdapterManagerI.o \ + ServerManagerI.o \ + LocatorI.o \ + LocatorRegistryI.o \ AdminI.o \ - Activator.o + ActivatorI.o SRCS = $(OBJS:.o=.cpp) \ $(COBJS:.o=.cpp) \ @@ -93,4 +99,41 @@ $(HDIR)/AdminF.h: $(SDIR)/AdminF.ice $(SLICE2CPP) clean:: rm -f $(HDIR)/AdminF.h +AdapterManager.h AdapterManager.cpp: AdapterManager.ice $(SLICE2CPP) + rm -f AdapterManager.h AdapterManager.cpp + $(SLICECMD) -I.. AdapterManager.ice + +clean:: + rm -f AdapterManager.h AdapterManager.cpp + +AdapterManagerF.h: AdapterManagerF.ice $(SLICE2CPP) + rm -f AdapterManagerF.h AdapterManagerF.cpp + $(SLICECMD) -I.. AdapterManagerF.ice + rm -f AdapterManagerF.cpp + +clean:: + rm -f AdapterManagerF.h + +ServerManager.h ServerManager.cpp: ServerManager.ice $(SLICE2CPP) + rm -f ServerManager.h ServerManager.cpp + $(SLICECMD) -I.. ServerManager.ice + +clean:: + rm -f ServerManager.h ServerManager.cpp + +ServerManagerF.h: ServerManagerF.ice $(SLICE2CPP) + rm -f ServerManagerF.h ServerManagerF.cpp + $(SLICECMD) -I.. ServerManagerF.ice + rm -f ServerManagerF.cpp + +clean:: + rm -f ServerManagerF.h + +Activator.h Activator.cpp: Activator.ice $(SLICE2CPP) + rm -f Activator.h Activator.cpp + $(SLICECMD) -I.. Activator.ice + +clean:: + rm -f Activator.h Activator.cpp + include .depend diff --git a/cpp/src/IcePack/Parser.cpp b/cpp/src/IcePack/Parser.cpp index d7effc44fd6..56fa971af19 100644 --- a/cpp/src/IcePack/Parser.cpp +++ b/cpp/src/IcePack/Parser.cpp @@ -16,6 +16,8 @@ # include <readline/history.h> #endif +#include <iterator> + using namespace std; using namespace Ice; using namespace IcePack; @@ -41,19 +43,28 @@ IcePack::Parser::usage() cout << "help Print this message.\n" "exit, quit Exit this program.\n" - "add PROXY [PATH [ARGS...]] Add PROXY with an optional PATH and program\n" - " arguments ARGS.\n" - "remove PROXY Remove PROXY.\n" - "list List all server descriptions.\n" + "server add NAME PATH [PWD] [adapters { NAMES }] [options { OPTIONS }]\n" + " Add server NAME with PATH, optional working\n" + " directory PWD, adapters and options.\n" + "server describe NAME Get server NAME description.\n" + "server state NAME Get server NAME state.\n" + "server start NAME Starts server NAME.\n" + "server remove NAME Remove server NAME.\n" + "server list List all server names.\n" + "adapter add NAME ENDPOINTS Add adapter NAME with ENDPOINTS.\n" + "adapter list List all adapter names.\n" + "adapter remove NAME Remove adapter NAME.\n" + "adapter endpoints NAME Get adapter NAME endpoints.\n" "shutdown Shut the IcePack server down.\n"; } void -IcePack::Parser::add(const list<string>& args) +IcePack::Parser::addServer(const list<string>& args, const std::list<std::string>& adapters, + const std::list<std::string>& options) { - if(args.empty()) + if(args.size() < 2) { - error("`add' requires at least one argument (type `help' for more info)"); + error("`server add' requires at least two arguments (type `help' for more info)"); return; } @@ -61,16 +72,19 @@ IcePack::Parser::add(const list<string>& args) { ServerDescription desc; list<string>::const_iterator p = args.begin(); - desc.obj = _communicator->stringToProxy(*p); - if(++p != args.end()) + + desc.name = *p++; + desc.path = *p++; + + if(p != args.end()) { - desc.path = *p; - while(++p != args.end()) - { - desc.args.push_back(*p); - } + desc.pwd = *p++; } - _admin->add(desc); + + copy(adapters.begin(), adapters.end(), back_inserter(desc.adapters)); + copy(options.begin(), options.end(), back_inserter(desc.args)); + + _admin->addServer(desc); } catch(const Exception& ex) @@ -82,17 +96,20 @@ IcePack::Parser::add(const list<string>& args) } void -IcePack::Parser::remove(const list<string>& args) +IcePack::Parser::startServer(const list<string>& args) { if(args.size() != 1) { - error("`remove' requires exactly one argument (type `help' for more info)"); + error("`server start' requires exactly one argument (type `help' for more info)"); return; } try { - _admin->remove(stringToIdentity(args.front())); + if(!_admin->startServer(args.front())) + { + error("The server didn't start successfully"); + } } catch(const Exception& ex) { @@ -103,28 +120,70 @@ IcePack::Parser::remove(const list<string>& args) } void -IcePack::Parser::listAll() +IcePack::Parser::describeServer(const list<string>& args) { + if(args.size() != 1) + { + error("`server describe' requires exactly one argument (type `help' for more info)"); + return; + } + + try + { + ServerDescription desc = _admin->getServerDescription(args.front()); + + cout << "name = " << desc.name << endl; + cout << "path = " << desc.path << endl; + cout << "pwd = " << desc.pwd << endl; + + cout << "args = "; + copy(desc.args.begin(), desc.args.end(), ostream_iterator<string>(cout," ")); + cout << endl; + + cout << "adapters = "; + copy(desc.adapters.begin(), desc.adapters.end(), ostream_iterator<string>(cout," ")); + cout << endl; + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::stateServer(const list<string>& args) +{ + if(args.size() != 1) + { + error("`server state' requires exactly one argument (type `help' for more info)"); + return; + } + try { - ServerDescriptions descriptions = _admin->getAll(); - ServerDescriptions::iterator p = descriptions.begin(); - while(p != descriptions.end()) + ServerState state = _admin->getServerState(args.front()); + + switch(state) { - cout << "identity = " << p->first << endl; - cout << "object = " << _communicator->proxyToString(p->second.obj) << endl; - cout << "host = " << p->second.host << endl; - cout << "path = " << p->second.path << endl; - cout << "args ="; - for(Args::iterator q = p->second.args.begin(); q != p->second.args.end(); ++q) - { - cout << ' ' << *q; - } - cout << endl; - if(++p != descriptions.end()) - { - cout << endl; - } + case Inactive: + cout << "Inactive" << endl; + break; + case Activating: + cout << "Activating" << endl; + break; + case Active: + cout << "Active" << endl; + break; + case Deactivating: + cout << "Deactivating" << endl; + break; + case Destroyed: + cout << "Destroyed" << endl; + break; + default: + assert(false); } } catch(const Exception& ex) @@ -136,6 +195,128 @@ IcePack::Parser::listAll() } void +IcePack::Parser::removeServer(const list<string>& args) +{ + if(args.size() != 1) + { + error("`server remove' requires exactly one argument (type `help' for more info)"); + return; + } + + try + { + _admin->removeServer(args.front()); + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::listAllServers() +{ + try + { + ServerNames names = _admin->getAllServerNames(); + copy(names.begin(), names.end(), ostream_iterator<string>(cout,"\n")); + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::addAdapter(const list<string>& args) +{ + if(args.size() < 2) + { + error("`adapter add' requires at least two arguments (type `help' for more info)"); + return; + } + + try + { + list<string>::const_iterator p = args.begin(); + + string name = *p++; + string endpoints = *p++; + + _admin->addAdapterWithEndpoints(name, endpoints); + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::endpointsAdapter(const list<string>& args) +{ + if(args.size() != 1) + { + error("`adapter endpoints' requires exactly one argument (type `help' for more info)"); + return; + } + + try + { + string endpoints = _admin->getAdapterEndpoints(args.front()); + cout << endpoints << endl; + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::removeAdapter(const list<string>& args) +{ + if(args.size() != 1) + { + error("`adapter remove' requires exactly one argument (type `help' for more info)"); + return; + } + + try + { + _admin->removeAdapter(args.front()); + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void +IcePack::Parser::listAllAdapters() +{ + try + { + AdapterNames names = _admin->getAllAdapterNames(); + copy(names.begin(), names.end(), ostream_iterator<string>(cout,"\n")); + } + catch(const Exception& ex) + { + ostringstream s; + s << ex; + error(s.str()); + } +} + +void IcePack::Parser::shutdown() { try diff --git a/cpp/src/IcePack/Parser.h b/cpp/src/IcePack/Parser.h index cbb3fb058d0..35c99fc06ce 100644 --- a/cpp/src/IcePack/Parser.h +++ b/cpp/src/IcePack/Parser.h @@ -67,9 +67,18 @@ public: void usage(); - void add(const std::list<std::string>&); - void remove(const std::list<std::string>&); - void listAll(); + void addServer(const std::list<std::string>&, const std::list<std::string>&, const std::list<std::string>&); + void startServer(const std::list<std::string>&); + void describeServer(const std::list<std::string>&); + void stateServer(const std::list<std::string>&); + void removeServer(const std::list<std::string>&); + void listAllServers(); + + void addAdapter(const std::list<std::string>&); + void endpointsAdapter(const std::list<std::string>&); + void removeAdapter(const std::list<std::string>&); + void listAllAdapters(); + void shutdown(); void getInput(char*, int&, int); diff --git a/cpp/src/IcePack/Scanner.l b/cpp/src/IcePack/Scanner.l index d3df7768e8a..78193c7f4bd 100644 --- a/cpp/src/IcePack/Scanner.l +++ b/cpp/src/IcePack/Scanner.l @@ -96,6 +96,14 @@ NL [\n] return ICE_PACK_EXIT; } +"server" { + return ICE_PACK_SERVER; +} + +"adapter" { + return ICE_PACK_ADAPTER; +} + "add" { return ICE_PACK_ADD; } @@ -112,6 +120,38 @@ NL [\n] return ICE_PACK_SHUTDOWN; } +"describe" { + return ICE_PACK_DESCRIBE; +} + +"state" { + return ICE_PACK_STATE; +} + +"endpoints" { + return ICE_PACK_ENDPOINTS; +} + +"start" { + return ICE_PACK_START; +} + +"adapters" { + return ICE_PACK_ADAPTERS; +} + +"options" { + return ICE_PACK_OPTIONS; +} + +"{" { + return ICE_PACK_OPEN_BRACKET; +} + +"}" { + return ICE_PACK_CLOSE_BRACKET; +} + {WS}*(\\{WS}*{NL})? { int len = strlen(yytext); for(int i = 0; i < len; ++i) diff --git a/cpp/src/IcePack/Server.cpp b/cpp/src/IcePack/Server.cpp index 5e3332f2ff0..b929b3e5202 100644 --- a/cpp/src/IcePack/Server.cpp +++ b/cpp/src/IcePack/Server.cpp @@ -9,9 +9,13 @@ // ********************************************************************** #include <Ice/Application.h> +#include <IcePack/LocatorI.h> +#include <IcePack/LocatorRegistryI.h> +#include <IcePack/ServerManagerI.h> +#include <IcePack/AdapterManagerI.h> #include <IcePack/AdminI.h> -#include <IcePack/Forward.h> #ifndef _WIN32 +# include <IcePack/ActivatorI.h> # include <signal.h> # include <sys/wait.h> #endif @@ -52,12 +56,12 @@ main(int argc, char* argv[]) sigaction(SIGCHLD, &action, 0); #endif - Server app; + ::Server app; return app.main(argc, argv); } void -Server::usage() +::Server::usage() { cerr << "Usage: " << appName() << " [options]\n"; cerr << @@ -69,7 +73,7 @@ Server::usage() } int -Server::run(int argc, char* argv[]) +::Server::run(int argc, char* argv[]) { PropertiesPtr properties = communicator()->getProperties(); @@ -102,38 +106,135 @@ Server::run(int argc, char* argv[]) } } - const char* adminEndpointsProperty = "IcePack.Admin.Endpoints"; - string adminEndpoints = properties->getProperty(adminEndpointsProperty); - if(!adminEndpoints.empty() && !nowarn) + string locatorEndpoints = properties->getProperty("IcePack.Locator.Endpoints"); + if(locatorEndpoints.empty()) { - cerr << appName() << ": warning: administrative endpoints property `" << adminEndpointsProperty << "' enabled" - << endl; + cerr << appName() << ": property `IcePack.Locator.Endpoints' is not set" << endl; + return EXIT_FAILURE; } - const char* forwardEndpointsProperty = "IcePack.Forward.Endpoints"; - string forwardEndpoints = properties->getProperty(forwardEndpointsProperty); - if(forwardEndpoints.empty()) + string locatorRegistryEndpoints = properties->getProperty("IcePack.LocatorRegistry.Endpoints"); + if(locatorRegistryEndpoints.empty()) { - cerr << appName() << ": property `" << forwardEndpointsProperty << "' is not set" << endl; + cerr << appName() << ": property `IcePack.LocatorRegistry.Endpoints' is not set" << endl; return EXIT_FAILURE; } - AdminPtr admin = new AdminI(communicator()); - ServantLocatorPtr forward = new Forward(communicator(), admin); - - if(adminEndpoints.length() != 0) + string adminEndpoints = properties->getProperty("IcePack.Admin.Endpoints"); + if(!adminEndpoints.empty()) { - ObjectAdapterPtr adminAdapter = communicator()->createObjectAdapterFromProperty("Admin", - adminEndpointsProperty); - adminAdapter->add(admin, stringToIdentity("admin")); - adminAdapter->activate(); + if(!nowarn) + { + cerr << appName() << ": warning: administrative endpoints `IcePack.Admin.Endpoints' enabled" << endl; + } } - ObjectAdapterPtr forwardAdapter = communicator()->createObjectAdapterFromProperty("Forward", - forwardEndpointsProperty); - forwardAdapter->addServantLocator(forward, ""); - forwardAdapter->activate(); + string locatorId = properties->getPropertyWithDefault("IcePack.Locator.Identity", "IcePack/locator"); + string locatorRegistryId = properties->getPropertyWithDefault("IcePack.LocatorRegistry.Identity", + "IcePack/locatorregistry"); + string adminId = properties->getPropertyWithDefault("IcePack.Admin.Identity", "IcePack/admin"); + + // + // Register the server manager and adapter manager with an + // internal object adapter. We ensure that the internal object + // adapter doesn't have any endpoints, all the objects registered + // with this adapter are *only* accessed internally through + // collocation. + // + ObjectAdapterPtr internalAdapter = communicator()->createObjectAdapterWithEndpoints("IcePack.Internal", ""); + internalAdapter->setLocator(0); + + // + // Activator isn't supported on Windows yet, just pass an empty + // acticator proxy. + // + ActivatorPrx activatorProxy; + +#ifndef _WIN32 + // + // Setup default arguments which will be passed to each activated + // process. Then, create and start the activator. + // + Args defaultArgs; + defaultArgs.push_back("--Ice.Default.Locator=" + locatorId + ":" + locatorEndpoints); + + ActivatorIPtr activator = new ActivatorI(communicator(), defaultArgs); + activator->start(); + activatorProxy = ActivatorPrx::uncheckedCast(internalAdapter->add(activator, + stringToIdentity("IcePack/activator"))); +#endif + + AdapterManagerPtr adapterManager = new AdapterManagerI(internalAdapter); + AdapterManagerPrx adapterManagerProxy = + AdapterManagerPrx::uncheckedCast(internalAdapter->add(adapterManager, + stringToIdentity("IcePack/adaptermanager"))); + + ServerManagerPtr serverManager = new ServerManagerI(internalAdapter, adapterManagerProxy, activatorProxy); + ServerManagerPrx serverManagerProxy = + ServerManagerPrx::uncheckedCast(internalAdapter->add(serverManager, + stringToIdentity("IcePack/servermanager"))); + internalAdapter->activate(); + + // + // Create the "IcePack.Admin" object adapter and register the + // admin object. The admin object is used by icepackadmin to + // administrate IcePack. + // + ObjectAdapterPtr adminAdapter = communicator()->createObjectAdapterWithEndpoints("IcePack.Admin", adminEndpoints); + AdminPtr admin = new AdminI(communicator(), serverManagerProxy, adapterManagerProxy); + adminAdapter->add(admin, stringToIdentity(adminId)); + + // + // Create the "IcePack.LocatorRegistry" object adapter and + // registry the locator registry object. + // + // The locator registry object provides an implementation of the + // Ice::LocatorRegistry interface. This interface is used by Ice + // servers to register their object adapters. + // + ObjectAdapterPtr locatorRegistryAdapter = + communicator()->createObjectAdapterWithEndpoints("IcePack.LocatorRegistry", locatorRegistryEndpoints); + locatorRegistryAdapter->setLocator(0); + LocatorRegistryPtr locatorRegistry = new LocatorRegistryI(adapterManagerProxy); + LocatorRegistryPrx locatorRegistryProxy = + LocatorRegistryPrx::uncheckedCast(locatorRegistryAdapter->add(locatorRegistry, stringToIdentity(adminId))); + + // + // Create the "IcePack.Locator" object adapter and register the + // locator object. + // + // The locator locator object provides an implementation of the + // Ice::Locator interface. This interface is used by Ice clients + // to locate object adapters and their associated endpoints. + // + LocatorPtr locator = new LocatorI(adapterManagerProxy, locatorRegistryProxy); + ObjectAdapterPtr locatorAdapter = communicator()->createObjectAdapterWithEndpoints("IcePack.Locator", + locatorEndpoints); + locatorAdapter->setLocator(0); + LocatorPrx locatorProxy = LocatorPrx::uncheckedCast(locatorAdapter->add(locator, stringToIdentity(locatorId))); + // + // Set the locator for the admin object adapter. + // + adminAdapter->setLocator(locatorProxy); + + // + // Activate the adapters. + // + shutdownOnInterrupt(); + adminAdapter->activate(); + locatorAdapter->activate(); + locatorRegistryAdapter->activate(); communicator()->waitForShutdown(); + ignoreInterrupt(); + +#ifndef _WIN32 + // + // Destroy and join with activator. + // + activator->destroy(); + activator->getThreadControl().join(); +#endif + return EXIT_SUCCESS; } diff --git a/cpp/src/IcePack/ServerManager.ice b/cpp/src/IcePack/ServerManager.ice new file mode 100644 index 00000000000..db11e57983e --- /dev/null +++ b/cpp/src/IcePack/ServerManager.ice @@ -0,0 +1,117 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_SERVER_MANAGER_ICE +#define ICE_PACK_SERVER_MANAGER_ICE + +#include <IcePack/Admin.ice> +#include <IcePack/AdapterManager.ice> + +module IcePack +{ + +class Server +{ + /** + * + * Server description. + * + * @return The server description. + * + **/ + ServerDescription getServerDescription(); + + /** + * + * Start the server. + * + * @return True if the server was successfully started, false + * otherwise. + * + **/ + bool start(); + + /** + * + * This method is called by the activator when it detects that the + * server has terminated. + * + **/ + void terminationCallback(); + + /** + * + * Return the server state. + * + **/ + ServerState getState(); + + /** + * + * The description of this server. + * + */ + ServerDescription _description; + + /** + * + * The server state. + * + */ + ServerState _state; + + /** + * + * The adapter proxies. + * + **/ + Adapters _adapters; +}; + +class ServerManager +{ + /** + * + * Create a server. + * + **/ + Server* create(ServerDescription description) + throws ServerExistsException, AdapterExistsException; + + /** + * + * Find an adapter and return its proxy. + * + * @param name Name of the adapter. + * + * @return Server proxy. + * + **/ + Server* findByName(string name); + + /** + * + * Remove a server. + * + **/ + void remove(string name) + throws ServerNotExistException, ServerNotInactiveException; + + /** + * + * Get all server names. + * + **/ + ServerNames getAll(); +}; + +}; + +#endif diff --git a/cpp/src/IcePack/ServerManagerF.ice b/cpp/src/IcePack/ServerManagerF.ice new file mode 100644 index 00000000000..45581fdd40c --- /dev/null +++ b/cpp/src/IcePack/ServerManagerF.ice @@ -0,0 +1,23 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_SERVER_MANAGER_F_ICE +#define ICE_PACK_SERVER_MANAGER_F_ICE + +module IcePack +{ + +class Server; +interface ServerManager; + +}; + +#endif + diff --git a/cpp/src/IcePack/ServerManagerI.cpp b/cpp/src/IcePack/ServerManagerI.cpp new file mode 100644 index 00000000000..6b150c06838 --- /dev/null +++ b/cpp/src/IcePack/ServerManagerI.cpp @@ -0,0 +1,313 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <Ice/Functional.h> +#include <Ice/LoggerUtil.h> +#include <IcePack/ServerManagerI.h> +#include <IcePack/AdapterManager.h> +#include <IcePack/Activator.h> + +using namespace std; +using namespace Ice; +using namespace IcePack; + +class ServerNameToServer +{ +public: + + ServerNameToServer(const ObjectAdapterPtr& adapter) : + _adapter(adapter) + { + } + + ServerPrx + operator()(const string& name) + { + Identity ident; + ident.category = "server"; + ident.name = name; + return ServerPrx::uncheckedCast(_adapter->createProxy(ident)); + } + +private: + + ObjectAdapterPtr _adapter; +}; + +IcePack::ServerI::ServerI(const ObjectAdapterPtr& adapter, const ActivatorPrx& activator) : + _adapter(adapter), + _activator(activator) +{ +} + +IcePack::ServerI::~ServerI() +{ +} + +ServerDescription +IcePack::ServerI::getServerDescription(const Current&) +{ + return _description; +} + +bool +IcePack::ServerI::start(const Current&) +{ + while(true) + { + IceUtil::Monitor< IceUtil::Mutex>::Lock sync(*this); + if(!_activator) + return false; + + switch(_state) + { + case Inactive: + _state = Activating; + break; + + case Activating: + wait(); // TODO: Timeout? + continue; + + case Active: + return true; // Raise an exception instead? + + case Deactivating: + wait(); + continue; + + case Destroyed: + throw ObjectNotExistException(__FILE__,__LINE__); + } + break; + } + + try + { + bool activated = _activator->activate(ServerNameToServer(_adapter)(_description.name)); + setState(activated ? Active : Inactive); + return activated; + } + catch (const SystemException& ex) + { + Warning out(_adapter->getCommunicator()->getLogger()); + out << "activation failed for server `" << _description.name << "':\n"; + out << ex; + + setState(Inactive); + return false; + } +} + +void +IcePack::ServerI::terminationCallback(const Current&) +{ + // + // Callback from the activator indicating that the server + // stopped. Change state to deactivating while we mark the server + // adapters as inactive. + // + setState(Deactivating); + + // + // Mark each adapter as inactive. _adapters is immutable when + // state == Deactivating. + // + for(Adapters::iterator p = _adapters.begin(); p != _adapters.end(); ++p) + { + (*p)->markAsInactive(); + } + + setState(Inactive); +} + +ServerState +IcePack::ServerI::getState(const Current&) +{ + IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + return _state; +} + +void +IcePack::ServerI::setState(ServerState state) +{ + IceUtil::Monitor< ::IceUtil::Mutex>::Lock sync(*this); + + if(state == Destroyed && (_state == Active || _state == Deactivating)) + throw ServerNotInactiveException(); + + _state = state; + + notifyAll(); +} + +IcePack::ServerManagerI::ServerManagerI(const ObjectAdapterPtr& adapter, + const AdapterManagerPrx& adapterManager, + const ActivatorPrx& activator) : + _adapter(adapter), + _adapterManager(adapterManager), + _activator(activator) +{ +} + +IcePack::ServerManagerI::~ServerManagerI() +{ +} + +ServerPrx +IcePack::ServerManagerI::create(const ServerDescription& description, const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + ServerPrx server = ServerNameToServer(_adapter)(description.name); + try + { + server->ice_ping(); + + // + // The server already exists. + // + throw ServerExistsException(); + } + catch (const ObjectNotExistException&) + { + } + + // + // Create the server. Set its state to Activating so that we can + // safelly register the adapters without any race conditions. If a + // request comes in for an adapter we've just registerd, the + // server won't be started as long as we are not in the Inactive + // state. + // + ServerI* serverI = new ServerI(_adapter, _activator); + ServerPtr s = serverI; + serverI->_description = description; + serverI->_state = Activating; + + // + // The server object might receives requests as soon as it returns + // from this call. This is the reason why we've created the server + // in the activating state -- to block any attempts to activate + // the server. The server state is set to inactive once it's fully + // created. + // + server = ServerPrx::uncheckedCast(_adapter->add(serverI, server->ice_getIdentity())); + + try + { + // + // Register the server adapters to enabled automatic + // activation. If an adapter already exists, rollback the + // server creation and throw an exception. + // + for(AdapterNames::const_iterator p = description.adapters.begin(); p != description.adapters.end(); ++p) + { + AdapterDescription desc; + desc.name = (*p); + desc.server = server; + serverI->_adapters.push_back(_adapterManager->create(desc)); + } + } + catch (const AdapterExistsException&) + { + // + // The adapter is already registered with a server, remove the + // server. + // + _adapter->remove(server->ice_getIdentity()); + serverI->setState(Destroyed); + throw; + } + + // + // Set the server state as inactive. At this point the server can + // be automatically started if a request for one of its adapter + // comes in. + // + serverI->setState(Inactive); + + // + // Add this server name to our server names internal list. + // + _serverNames.insert(description.name); + + return server; +} + +ServerPrx +IcePack::ServerManagerI::findByName(const string& name, const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + ServerPrx server = ServerNameToServer(_adapter)(name); + try + { + server->ice_ping(); + return server; + } + catch (const ObjectNotExistException&) + { + return 0; + } +} + +void +IcePack::ServerManagerI::remove(const string& name, const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + ServerPrx server = ServerNameToServer(_adapter)(name); + try + { + server->ice_ping(); + } + catch (const ObjectNotExistException&) + { + throw ServerNotExistException(); + } + + // + // Mark the server as destroyed. + // + ServerI* serverI = dynamic_cast<ServerI*>(_adapter->proxyToServant(server).get()); + assert(serverI); + serverI->setState(Destroyed); + + // + // Remove server adapters. + // + ServerDescription description = serverI->_description; + for(AdapterNames::iterator p = description.adapters.begin(); p != description.adapters.end(); ++p) + { + _adapterManager->remove(*p); + } + + _adapter->remove(server->ice_getIdentity()); + + // + // Remove the server name from our internal server name set. + // + _serverNames.erase(_serverNames.find(name)); +} + +ServerNames +IcePack::ServerManagerI::getAll(const Current&) +{ + IceUtil::Mutex::Lock sync(*this); + + ServerNames names; + names.reserve(_serverNames.size()); + copy(_serverNames.begin(), _serverNames.end(), back_inserter(names)); + + return names; +} + diff --git a/cpp/src/IcePack/ServerManagerI.h b/cpp/src/IcePack/ServerManagerI.h new file mode 100644 index 00000000000..67c0dc3506a --- /dev/null +++ b/cpp/src/IcePack/ServerManagerI.h @@ -0,0 +1,65 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_SERVER_MANAGER_I_H +#define ICE_PACK_SERVER_MANAGER_I_H + +#include <IceUtil/Mutex.h> +#include <IcePack/ServerManager.h> +#include <IcePack/Activator.h> +#include <set> + + +namespace IcePack +{ + +class ServerI : public Server, public ::IceUtil::Monitor< ::IceUtil::Mutex> +{ +public: + ServerI(const ::Ice::ObjectAdapterPtr&, const ActivatorPrx&); + virtual ~ServerI(); + + virtual ServerDescription getServerDescription(const ::Ice::Current&); + virtual bool start(const ::Ice::Current&); + virtual void terminationCallback(const ::Ice::Current&); + virtual ServerState getState(const ::Ice::Current&); + + void setState(ServerState); + +private: + + ::Ice::ObjectAdapterPtr _adapter; + ActivatorPrx _activator; +}; + + +class ServerManagerI : public ServerManager, public IceUtil::Mutex +{ +public: + + ServerManagerI(const Ice::ObjectAdapterPtr&, const AdapterManagerPrx&, const ActivatorPrx&); + virtual ~ServerManagerI(); + + virtual ServerPrx create(const ServerDescription&, const ::Ice::Current&); + virtual ServerPrx findByName(const ::std::string&, const ::Ice::Current&); + virtual void remove(const ::std::string&, const ::Ice::Current&); + virtual ServerNames getAll(const ::Ice::Current&); + +private: + + ::Ice::ObjectAdapterPtr _adapter; + ::std::set< ::std::string> _serverNames; + AdapterManagerPrx _adapterManager; + ActivatorPrx _activator; +}; + +} + +#endif diff --git a/cpp/src/IcePack/icepackS.dsp b/cpp/src/IcePack/icepackS.dsp index 2c70f22402b..eeea931c959 100644 --- a/cpp/src/IcePack/icepackS.dsp +++ b/cpp/src/IcePack/icepackS.dsp @@ -91,32 +91,212 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
+SOURCE=.\Activator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManagerI.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\AdminI.cpp
# End Source File
# Begin Source File
-SOURCE=.\Forward.cpp
+SOURCE=.\LocatorAdminI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorI.cpp
# End Source File
# Begin Source File
SOURCE=.\Server.cpp
# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManagerI.cpp
+# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
+SOURCE=.\Activator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ActivatorI.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManagerF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManagerI.h
+# End Source File
+# Begin Source File
+
SOURCE=.\AdminI.h
# End Source File
# Begin Source File
-SOURCE=.\Forward.h
+SOURCE=.\LocatorAdminI.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorI.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManagerF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManagerI.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Activator.ice
+
+!IF "$(CFG)" == "IcePackS - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IcePackS - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\Activator.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --include-dir IcePack -I../../slice -I.. Activator.ice \
+
+
+"Activator.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Activator.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManager.ice
+
+!IF "$(CFG)" == "IcePackS - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IcePackS - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\AdapterManager.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --include-dir IcePack -I../../slice -I.. AdapterManager.ice \
+
+
+"AdapterManager.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"AdapterManager.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdapterManagerF.ice
+
+!IF "$(CFG)" == "IcePackS - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IcePackS - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\AdapterManagerF.ice
+
+"AdapterManagerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --include-dir IcePack -I../../slice -I.. AdapterManagerF.ice
+ del AdapterManagerF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManager.ice
+
+!IF "$(CFG)" == "IcePackS - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IcePackS - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\ServerManager.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --include-dir IcePack -I../../slice -I.. ServerManager.ice \
+
+
+"ServerManager.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"ServerManager.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerManagerF.ice
+
+!IF "$(CFG)" == "IcePackS - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IcePackS - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\ServerManagerF.ice
+
+"ServerManagerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --include-dir IcePack -I../../slice -I.. ServerManagerF.ice
+ del ServerManagerF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
# End Group
# End Target
# End Project
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index c78b5252965..5309d054b4c 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -1193,11 +1193,11 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p) C << nl << "int __cnt = 0;"; C << nl << "while(true)"; C << sb; + C << nl << "try"; + C << sb; C << nl << "::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();"; C << nl << "::IceDelegate" << scope.substr(0, scope.size() - 2) << "* __del = dynamic_cast< ::IceDelegate" << scope.substr(0, scope.size() - 2) << "*>(__delBase.get());"; - C << nl << "try"; - C << sb; C << nl; if(ret) { diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 0fafd5ddb71..d0bb4b08f24 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -1967,11 +1967,11 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) out << nl << "int __cnt = 0;"; out << nl << "while(true)"; out << sb; + out << nl << "try"; + out << sb; out << nl << "Ice._ObjectDel __delBase = __getDelegate();"; out << nl << '_' << name << "Del __del = (_" << name << "Del)__delBase;"; - out << nl << "try"; - out << sb; out << nl; if(ret) { diff --git a/cpp/test/Ice/Makefile b/cpp/test/Ice/Makefile index 4badaf299e8..d8962437d61 100644 --- a/cpp/test/Ice/Makefile +++ b/cpp/test/Ice/Makefile @@ -18,7 +18,8 @@ SUBDIRS = operations \ facets \ objects \ faultTolerance \ - locationForward + locationForward \ + location $(EVERYTHING):: @for subdir in $(SUBDIRS); \ diff --git a/cpp/test/Ice/location/.depend b/cpp/test/Ice/location/.depend new file mode 100644 index 00000000000..d38f8668063 --- /dev/null +++ b/cpp/test/Ice/location/.depend @@ -0,0 +1,6 @@ +Test.o: Test.cpp Test.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/Stream.h ../../../include/Ice/BuiltinSequences.h +Client.o: Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h +AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h +TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h +ServerLocator.o: ServerLocator.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ServerLocator.h ../../../include/Ice/Locator.h +Server.o: Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ServerLocator.h ../../../include/Ice/Locator.h TestI.h Test.h diff --git a/cpp/test/Ice/location/AllTests.cpp b/cpp/test/Ice/location/AllTests.cpp new file mode 100644 index 00000000000..10968459d7d --- /dev/null +++ b/cpp/test/Ice/location/AllTests.cpp @@ -0,0 +1,108 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestCommon.h> +#include <Test.h> + +using namespace std; + +void +allTests(const Ice::CommunicatorPtr& communicator) +{ + ServerManagerPrx manager = ServerManagerPrx::checkedCast( + communicator->stringToProxy("servermanager :default -t 2000 -p 12345")); + test(manager); + + // + // Start a server, get the port of the adapter it's listening on, + // and add it to the configuration so that the client can locate + // the TestAdapter adapter. + // + cout << "starting server... " << flush; + manager->startServer(); + cout << "ok" << endl; + + cout << "testing stringToProxy... " << flush; + Ice::ObjectPrx base = communicator->stringToProxy("test @ TestAdapter"); + Ice::ObjectPrx base2 = communicator->stringToProxy("test @ TestAdapter"); + cout << "ok" << endl; + + cout << "testing checked cast... " << flush; + TestPrx obj = TestPrx::checkedCast(base); + obj = TestPrx::checkedCast(communicator->stringToProxy("test@TestAdapter")); + obj = TestPrx::checkedCast(communicator->stringToProxy("test @TestAdapter")); + obj = TestPrx::checkedCast(communicator->stringToProxy("test@ TestAdapter")); + test(obj); + TestPrx obj2 = TestPrx::checkedCast(base2); + test(obj2); + cout << "ok" << endl; + + cout << "testing object reference from server... " << flush; + HelloPrx hello = obj->getHello(); + hello->sayHello(); + cout << "ok" << endl; + + cout << "shutdown server... " << flush; + obj->shutdown(); + cout << "ok" << endl; + + cout << "restarting server... " << flush; + manager->startServer(); + cout << "ok" << endl; + + cout << "testing whether server is still reachable... " << flush; + try + { + obj2->ice_ping(); + } + catch(const Ice::SocketException&) + { + + test(false); + } + cout << "ok" << endl; + + + cout << "testing object reference from server... " << flush; + hello->sayHello(); + cout << "ok" << endl; + + cout << "testing reference with unknown adapter... " << flush; + try + { + base = communicator->stringToProxy("test @ TestAdapterUnknown"); + base->ice_ping(); + test(false); + } + catch (const Ice::NoEndpointException&) + { + } + cout << "ok" << endl; + + cout << "shutdown server... " << flush; + obj->shutdown(); + cout << "ok" << endl; + + cout << "testing whether server is gone... " << flush; + try + { + obj2->ice_ping(); + test(false); + } + catch(const Ice::SocketException&) + { + cout << "ok" << endl; + } + + cout << "shutdown server manager..." << flush; + manager->shutdown(); + cout << "ok" << endl; +} diff --git a/cpp/test/Ice/location/Client.cpp b/cpp/test/Ice/location/Client.cpp new file mode 100644 index 00000000000..2f585b5fb09 --- /dev/null +++ b/cpp/test/Ice/location/Client.cpp @@ -0,0 +1,58 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestCommon.h> +#include <Test.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) +{ + void allTests(const Ice::CommunicatorPtr&); + allTests(communicator); + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + Ice::PropertiesPtr properties = Ice::createProperties(argc, argv); + properties->setProperty("Ice.Default.Locator", "locator:default -p 12345"); + communicator = Ice::initializeWithProperties(argc, argv, properties); + status = run(argc, argv, communicator); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/location/Collocated.cpp b/cpp/test/Ice/location/Collocated.cpp new file mode 100644 index 00000000000..6bd78758397 --- /dev/null +++ b/cpp/test/Ice/location/Collocated.cpp @@ -0,0 +1,61 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestI.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) +{ + string endpts = "default -p 12345 -t 2000"; + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("ServerManagerAdapter", endpts); + Ice::ObjectPtr object = new ServerManagerI(adapter); + adapter->add(object, Ice::stringToIdentity("servermanager")); + + void allTests(const Ice::CommunicatorPtr&); + allTests(communicator); + + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + communicator = Ice::initialize(argc, argv); + status = run(argc, argv, communicator); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/location/Makefile b/cpp/test/Ice/location/Makefile new file mode 100644 index 00000000000..0c190626319 --- /dev/null +++ b/cpp/test/Ice/location/Makefile @@ -0,0 +1,50 @@ +# ********************************************************************** +# +# Copyright (c) 2001 +# MutableRealms, Inc. +# Huntsville, AL, USA +# +# All Rights Reserved +# +# ********************************************************************** + +top_srcdir = ../../.. + +CLIENT = client +SERVER = server + +TARGETS = $(CLIENT) $(SERVER) + +OBJS = Test.o \ + +COBJS = Client.o \ + AllTests.o + +SOBJS = TestI.o \ + ServerLocator.o \ + Server.o + +SRCS = $(OBJS:.o=.cpp) \ + $(COBJS:.o=.cpp) \ + $(SOBJS:.o=.cpp) + +include $(top_srcdir)/config/Make.rules + +CPPFLAGS := -I. -I../../include $(CPPFLAGS) + +$(CLIENT): $(OBJS) $(COBJS) + rm -f $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) $(LIBS) + +$(SERVER): $(OBJS) $(SOBJS) + rm -f $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(LIBS) + +Test.h Test.cpp: Test.ice $(SLICE2CPP) + rm -f Test.h Test.cpp + $(SLICE2CPP) Test.ice + +clean:: + rm -f Test.h Test.cpp + +include .depend diff --git a/cpp/test/Ice/location/Server.cpp b/cpp/test/Ice/location/Server.cpp new file mode 100644 index 00000000000..214c0ba356d --- /dev/null +++ b/cpp/test/Ice/location/Server.cpp @@ -0,0 +1,80 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <ServerLocator.h> +#include <TestI.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) +{ + // + // Register the server manager. The server manager creates a new + // 'server' (a server isn't a different process, it's just a new + // communicator and object adapter). + // + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("ServerManagerAdapter", + "default -p 12345"); + + Ice::ObjectPtr object = new ServerManagerI(adapter); + adapter->add(object, Ice::stringToIdentity("servermanager")); + + // + // We also register a sample server locator which implements the + // locator interface, this locator is used by the clients and the + // 'servers' created with the server manager interface. + // + ServerLocatorRegistryPtr registry = new ServerLocatorRegistry(); + Ice::LocatorRegistryPrx registryPrx = + Ice::LocatorRegistryPrx::uncheckedCast(adapter->add(registry, Ice::stringToIdentity("registry"))); + + Ice::LocatorPtr locator = new ServerLocator(registry, registryPrx); + adapter->add(locator, Ice::stringToIdentity("locator")); + + adapter->activate(); + communicator->waitForShutdown(); + + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + communicator = Ice::initialize(argc, argv); + status = run(argc, argv, communicator); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/location/ServerLocator.cpp b/cpp/test/Ice/location/ServerLocator.cpp new file mode 100644 index 00000000000..dd9ed05ec9e --- /dev/null +++ b/cpp/test/Ice/location/ServerLocator.cpp @@ -0,0 +1,54 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <ServerLocator.h> + +ServerLocatorRegistry::ServerLocatorRegistry() +{ +} + +void +ServerLocatorRegistry::addAdapter(const ::std::string& adapter, const ::Ice::ObjectPrx& object, const ::Ice::Current&) +{ + _adapters[adapter] = object; +} + + +Ice::ObjectPrx +ServerLocatorRegistry::getAdapter(const ::std::string& adapter) +{ + return _adapters[adapter]; +} + +ServerLocator::ServerLocator(const ServerLocatorRegistryPtr& registry, const ::Ice::LocatorRegistryPrx& registryPrx) : + _registry(registry), + _registryPrx(registryPrx) +{ +} + +Ice::ObjectPrx +ServerLocator::findAdapterByName(const ::std::string& adapter, const ::Ice::Current&) +{ + return _registry->getAdapter(adapter); +// std::map< std::string, Ice::ObjectPrx >::iterator p = _adapters.find(adapter); +// if(p != _adapters.end()) +// { +// return p->second; +// } +// return 0; +} + +Ice::LocatorRegistryPrx +ServerLocator::getRegistry(const ::Ice::Current&) +{ + return _registryPrx; +} + diff --git a/cpp/test/Ice/location/ServerLocator.h b/cpp/test/Ice/location/ServerLocator.h new file mode 100644 index 00000000000..d16825dfa3e --- /dev/null +++ b/cpp/test/Ice/location/ServerLocator.h @@ -0,0 +1,53 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SERVER_LOCATOR_H +#define SERVER_LOCATOR_H + +#include <Ice/Locator.h> +#include <Ice/ProxyF.h> + +class ServerLocatorRegistry : public Ice::LocatorRegistry +{ +public: + + ServerLocatorRegistry(); + + virtual void addAdapter(const ::std::string&, const ::Ice::ObjectPrx&, const ::Ice::Current&); + + // + // Internal method + // + ::Ice::ObjectPrx getAdapter(const ::std::string&); + +private: + + ::std::map< ::std::string, ::Ice::ObjectPrx> _adapters; +}; + +typedef ::IceInternal::Handle< ServerLocatorRegistry> ServerLocatorRegistryPtr; + +class ServerLocator : public ::Ice::Locator +{ +public: + + ServerLocator(const ::ServerLocatorRegistryPtr&, const ::Ice::LocatorRegistryPrx&); + + virtual ::Ice::ObjectPrx findAdapterByName(const std::string&, const ::Ice::Current&); + + virtual ::Ice::LocatorRegistryPrx getRegistry(const ::Ice::Current&); + +private: + + ServerLocatorRegistryPtr _registry; + ::Ice::LocatorRegistryPrx _registryPrx; +}; + +#endif diff --git a/cpp/test/Ice/location/Test.ice b/cpp/test/Ice/location/Test.ice new file mode 100644 index 00000000000..84d884761b0 --- /dev/null +++ b/cpp/test/Ice/location/Test.ice @@ -0,0 +1,32 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef TEST_ICE +#define TEST_ICE + +interface ServerManager +{ + void startServer(); + void shutdown(); +}; + +interface Hello +{ + void sayHello(); +}; + +interface Test +{ + void shutdown(); + + Hello* getHello(); +}; + +#endif diff --git a/cpp/test/Ice/location/TestI.cpp b/cpp/test/Ice/location/TestI.cpp new file mode 100644 index 00000000000..d563a714119 --- /dev/null +++ b/cpp/test/Ice/location/TestI.cpp @@ -0,0 +1,73 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestI.h> + +ServerManagerI::ServerManagerI(const Ice::ObjectAdapterPtr& adapter) : + _adapter(adapter) +{ +} + +void +ServerManagerI::startServer(const Ice::Current&) +{ + int argc = 0; + char** argv = 0; + + // + // Simulate a server: create a new communicator and object + // adapter. The object adapter is started on a system allocated + // port. The configuration used here contains the Ice.Locator + // configuration variable. The new object adapter will register + // its endpoints with the locator and create references containing + // the adapter id instead of the endpoints. + // + _serverCommunicator = Ice::initialize(argc, argv); + Ice::ObjectAdapterPtr adapter = _serverCommunicator->createObjectAdapterWithEndpoints("TestAdapter", "default"); + + Ice::ObjectPrx locator = _serverCommunicator->stringToProxy("locator:default -p 12345"); + adapter->setLocator(Ice::LocatorPrx::uncheckedCast(locator)); + + Ice::ObjectPtr object = new TestI(adapter); + Ice::ObjectPrx proxy = adapter->add(object, Ice::stringToIdentity("test")); + adapter->activate(); +} + +void +ServerManagerI::shutdown(const Ice::Current&) +{ + _serverCommunicator->shutdown(); + _adapter->getCommunicator()->shutdown(); +} + +TestI::TestI(const Ice::ObjectAdapterPtr& adapter) : + _adapter(adapter) +{ + Ice::ObjectPtr servant = new HelloI(); + _adapter->add(servant, Ice::stringToIdentity("hello")); +} + +void +TestI::shutdown(const Ice::Current&) +{ + _adapter->getCommunicator()->shutdown(); +} + +HelloPrx +TestI::getHello(const Ice::Current&) +{ + return HelloPrx::uncheckedCast(_adapter->createProxy(Ice::stringToIdentity("hello"))); +} + +void +HelloI::sayHello(const Ice::Current&) +{ +} diff --git a/cpp/test/Ice/location/TestI.h b/cpp/test/Ice/location/TestI.h new file mode 100644 index 00000000000..4c84cdd6523 --- /dev/null +++ b/cpp/test/Ice/location/TestI.h @@ -0,0 +1,52 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef TEST_I_H +#define TEST_I_H + +#include <Test.h> + +class ServerManagerI : public ServerManager +{ +public: + ServerManagerI(const Ice::ObjectAdapterPtr&); + + virtual void startServer(const Ice::Current&); + virtual void shutdown(const Ice::Current&); + +private: + + Ice::ObjectAdapterPtr _adapter; + Ice::CommunicatorPtr _serverCommunicator; + +}; + +class HelloI : public Hello +{ +public: + + virtual void sayHello(const Ice::Current&); +}; + +class TestI : public Test +{ +public: + + TestI(const Ice::ObjectAdapterPtr&); + + virtual void shutdown(const Ice::Current&); + virtual HelloPrx getHello(const Ice::Current&); + +private: + + Ice::ObjectAdapterPtr _adapter; +}; + +#endif diff --git a/cpp/test/Ice/location/locationC.dsp b/cpp/test/Ice/location/locationC.dsp new file mode 100644 index 00000000000..d5b7764e975 --- /dev/null +++ b/cpp/test/Ice/location/locationC.dsp @@ -0,0 +1,161 @@ +# Microsoft Developer Studio Project File - Name="locationC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=locationC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "locationC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "locationC.mak" CFG="locationC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "locationC - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "locationC - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "locationC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 /nologo /subsystem:console /machine:I386 /out:"client.exe" /libpath:"../../../lib"
+# SUBTRACT LINK32 /debug /nodefaultlib
+
+!ELSEIF "$(CFG)" == "locationC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /I "../../include" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /GZ /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /out:"client.exe" /pdbtype:sept /libpath:"../../../lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "locationC - Win32 Release"
+# Name "locationC - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AllTests.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "locationC - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "locationC - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/Ice/location/locationCOL.dsp b/cpp/test/Ice/location/locationCOL.dsp new file mode 100644 index 00000000000..1382d454e18 --- /dev/null +++ b/cpp/test/Ice/location/locationCOL.dsp @@ -0,0 +1,169 @@ +# Microsoft Developer Studio Project File - Name="locationCOL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=locationCOL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "locationCOL.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "locationCOL.mak" CFG="locationCOL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "locationCOL - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "locationCOL - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "locationCOL - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 /nologo /subsystem:console /machine:I386 /out:"collocated.exe" /libpath:"../../../lib"
+# SUBTRACT LINK32 /debug /nodefaultlib
+
+!ELSEIF "$(CFG)" == "locationCOL - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /I "../../include" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /GZ /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /out:"collocated.exe" /pdbtype:sept /libpath:"../../../lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "locationCOL - Win32 Release"
+# Name "locationCOL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AllTests.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Collocated.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "locationCOL - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "locationCOL - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/Ice/location/locationS.dsp b/cpp/test/Ice/location/locationS.dsp new file mode 100644 index 00000000000..a7769f79416 --- /dev/null +++ b/cpp/test/Ice/location/locationS.dsp @@ -0,0 +1,169 @@ +# Microsoft Developer Studio Project File - Name="locationS" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=locationS - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "locationS.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "locationS.mak" CFG="locationS - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "locationS - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "locationS - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "locationS - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 /nologo /subsystem:console /machine:I386 /out:"server.exe" /libpath:"../../../lib"
+# SUBTRACT LINK32 /debug /nodefaultlib
+
+!ELSEIF "$(CFG)" == "locationS - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /I "../../include" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /YX /FD /GZ /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /out:"server.exe" /pdbtype:sept /libpath:"../../../lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "locationS - Win32 Release"
+# Name "locationS - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ServerLocator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "locationS - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "locationS - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/Ice/location/run.py b/cpp/test/Ice/location/run.py new file mode 100755 index 00000000000..a131d10a756 --- /dev/null +++ b/cpp/test/Ice/location/run.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2001 +# MutableRealms, Inc. +# Huntsville, AL, USA +# +# All Rights Reserved +# +# ********************************************************************** + +import os, sys + +for toplevel in [".", "..", "../..", "../../..", "../../../.."]: + toplevel = os.path.normpath(toplevel) + if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")): + break +else: + raise "can't find toplevel directory!" + +sys.path.append(os.path.join(toplevel, "config")) +import TestUtil + +name = os.path.join("Ice", "location") + +TestUtil.mixedClientServerTest(toplevel, name) +sys.exit(0) diff --git a/cpp/test/IcePack/simple/.depend b/cpp/test/IcePack/simple/.depend index 7200eafb9ac..5cc85766b3b 100644 --- a/cpp/test/IcePack/simple/.depend +++ b/cpp/test/IcePack/simple/.depend @@ -1,8 +1,8 @@ Test.o: Test.cpp Test.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/Stream.h ../../../include/Ice/BuiltinSequences.h -Client.o: Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h -AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h -TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h -Server.o: Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h -TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h -Collocated.o: Collocated.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h -AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h +Client.o: Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h +AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h +TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h +Server.o: Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h +TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h +Collocated.o: Collocated.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h TestI.h Test.h +AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/StreamF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/LoggerF.h ../../../include/Ice/Communicator.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/LocatorF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h ../../include/TestCommon.h Test.h diff --git a/cpp/test/IcePack/simple/AllTests.cpp b/cpp/test/IcePack/simple/AllTests.cpp index e581de549c0..71c33113860 100644 --- a/cpp/test/IcePack/simple/AllTests.cpp +++ b/cpp/test/IcePack/simple/AllTests.cpp @@ -18,7 +18,7 @@ TestPrx allTests(const Ice::CommunicatorPtr& communicator) { cout << "testing stringToProxy... " << flush; - string ref = "test:default -p 12346 -t 2000"; + string ref = "test @ TestAdapter"; Ice::ObjectPrx base = communicator->stringToProxy(ref); test(base); cout << "ok" << endl; diff --git a/cpp/test/IcePack/simple/Collocated.cpp b/cpp/test/IcePack/simple/Collocated.cpp index dea6eab61bb..8bc828518ab 100644 --- a/cpp/test/IcePack/simple/Collocated.cpp +++ b/cpp/test/IcePack/simple/Collocated.cpp @@ -16,7 +16,7 @@ using namespace std; int run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) { - string endpts = "default -p 12345 -t 2000"; + string endpts = "default -t 2000"; Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts); Ice::ObjectPtr object = new TestI(adapter); adapter->add(object, Ice::stringToIdentity("test")); diff --git a/cpp/test/IcePack/simple/Server.cpp b/cpp/test/IcePack/simple/Server.cpp index 0e81cf011d5..e97666f8cd7 100644 --- a/cpp/test/IcePack/simple/Server.cpp +++ b/cpp/test/IcePack/simple/Server.cpp @@ -16,7 +16,7 @@ using namespace std; int run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) { - string endpts = "default -p 12345 -t 2000"; + string endpts = "default -t 2000"; Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts); Ice::ObjectPtr object = new TestI(adapter); adapter->add(object, Ice::stringToIdentity("test")); diff --git a/cpp/test/IcePack/simple/run.py b/cpp/test/IcePack/simple/run.py index 08d901d6610..ed0eada708d 100755 --- a/cpp/test/IcePack/simple/run.py +++ b/cpp/test/IcePack/simple/run.py @@ -20,37 +20,49 @@ else: sys.path.append(os.path.join(toplevel, "config")) import TestUtil +import IcePackAdmin -icePack = os.path.join(toplevel, "bin", "icepack") -icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin") - -updatedServerOptions = TestUtil.serverOptions.replace("TOPLEVELDIR", toplevel) -updatedClientOptions = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) -updatedClientServerOptions = TestUtil.clientServerOptions.replace("TOPLEVELDIR", toplevel) - -print "starting icepack...", -command = icePack + updatedClientServerOptions + ' --nowarn' + \ - r' "--IcePack.Forward.Endpoints=default -p 12346 -t 5000"' + \ - r' "--IcePack.Admin.Endpoints=default -p 12347 -t 5000"' -icePackPipe = os.popen(command) -TestUtil.getServerPid(icePackPipe) -TestUtil.getAdapterReady(icePackPipe) -TestUtil.getAdapterReady(icePackPipe) -print "ok" +name = os.path.join("IcePack", "simple") + +# +# Add locator options for client and servers. All servers are now +# clients since they need to make requests to IcePack. +# +additionalOptions = " --Ice.Default.Locator=\"IcePack/locator:default -p 12346\"" + +# +# Start IcePack +# +icePackPipe = IcePackAdmin.startIcePack(toplevel, "12346") -print "registering server with icepack...", -command = icePackAdmin + updatedClientOptions + \ - r' "--IcePack.Admin.Endpoints=default -p 12347 -t 5000" -e "add \"test:default -p 12345 -t 5000\""' -icePackAdminPipe = os.popen(command) -icePackAdminStatus = icePackAdminPipe.close() -if icePackAdminStatus: +# +# Test client/server, collocated w/o automatic activation. +# +TestUtil.mixedClientServerTestWithOptions(toplevel, name, additionalOptions, additionalOptions) +TestUtil.collocatedTestWithOptions(toplevel, name, additionalOptions) + +# +# Get adapter list, ensure that TestAdapter is in the list. +# +print "testing adapter registration...", +hasTestAdapter = 0; +icePackAdminPipe = IcePackAdmin.listAdapters(toplevel); +for adaptername in icePackAdminPipe.xreadlines(): + if adaptername == "TestAdapter\n": + hasTestAdapter = 1 + +if hasTestAdapter == 0: + print "failed!" TestUtil.killServers() sys.exit(1) + +icePackStatus = icePackAdminPipe.close() +if icePackStatus: + TestUtil.killServers() + sys.exit(1) print "ok" -name = os.path.join("IcePack", "simple") -TestUtil.clientServerTest(toplevel, name) -TestUtil.collocatedTest(toplevel, name) +IcePackAdmin.removeAdapter(toplevel, "TestAdapter") # # This test doesn't work under Windows. @@ -61,19 +73,40 @@ if TestUtil.isWin32() == 0: server = os.path.join(testdir, "server") client = os.path.join(testdir, "client") - print "registering server with icepack for automatic activation...", - command = icePackAdmin + updatedClientOptions + \ - r' "--IcePack.Admin.Endpoints=default -p 12347 -t 5000"' + \ - r' -e "add \"test:default -p 12345 -t 5000\" ' + server + updatedServerOptions + '"' - icePackAdminPipe = os.popen(command) - icePackAdminStatus = icePackAdminPipe.close() - if icePackAdminStatus: + # + # Don't pass Ice.Locator.* properties for the server. The IcePack + # activator should take care of this. + # + updatedClientServerOptions = TestUtil.clientServerOptions.replace("TOPLEVELDIR", toplevel) + + print "registering server with icepack...", + IcePackAdmin.addServer(toplevel, "server", server, "", updatedClientServerOptions, "TestAdapter") + print "ok" + + print "testing adapter registration...", + hasTestAdapter = 0; + icePackAdminPipe = IcePackAdmin.listAdapters(toplevel); + for adaptername in icePackAdminPipe.xreadlines(): + if adaptername == "TestAdapter\n": + hasTestAdapter = 1 + + if hasTestAdapter == 0: + print "failed!" TestUtil.killServers() sys.exit(1) - print "ok" + + icePackStatus = icePackAdminPipe.close() + if icePackStatus: + TestUtil.killServers() + sys.exit(1) + + print "ok" + +# IcePackAdmin.startServer(toplevel, "server") + + updatedClientOptions = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) + additionalOptions print "starting client...", - exit clientPipe = os.popen(client + updatedClientOptions) print "ok" @@ -86,20 +119,6 @@ if TestUtil.isWin32() == 0: TestUtil.killServers() sys.exit(1) -print "shutting down icepack...", -command = icePackAdmin + updatedClientOptions + \ - r' "--IcePack.Admin.Endpoints=default -p 12347 -t 5000" -e "shutdown"' -icePackAdminPipe = os.popen(command) -icePackAdminStatus = icePackAdminPipe.close() -if icePackAdminStatus: - TestUtil.killServers() - sys.exit(1) -print "ok" - -icePackStatus = icePackPipe.close() - -if icePackStatus: - TestUtil.killServers() - sys.exit(1) +IcePackAdmin.shutdownIcePack(toplevel, icePackPipe) sys.exit(0) |