diff options
author | Joe George <joe@zeroc.com> | 2015-12-08 11:33:42 -0500 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2015-12-08 16:09:24 -0500 |
commit | 6a43686ce26de5d2d5edf4a485ecff3a242c26b6 (patch) | |
tree | d31e4f16dc9ed6e28056a7224e045a4638955f5e | |
parent | C++11 mapping IceDiscovery plug-in (diff) | |
download | ice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.tar.bz2 ice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.tar.xz ice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.zip |
ICE-6908 - Add ValueFactory
ValueFactory is a replacement for ObjectFactory (which is still
available if needed). It is an interface with only one operation
and can has the "delegate" metadata.
128 files changed, 2572 insertions, 1652 deletions
diff --git a/CHANGELOG-3.7.md b/CHANGELOG-3.7.md index 8a68cb054c2..c7a2a56d7e9 100644 --- a/CHANGELOG-3.7.md +++ b/CHANGELOG-3.7.md @@ -24,9 +24,9 @@ These are the changes since Ice 3.6.1. IceGrid and IceStorm databases. - Added support for two additional IceGrid variables: `server.data` and - `service.data`. These variables point to server and service specific data - directories created by IceGrid on the node. These data directories are - automatically removed by IceGrid if you remove the server from the + `service.data`. These variables point to server and service specific data + directories created by IceGrid on the node. These data directories are + automatically removed by IceGrid if you remove the server from the deployment. For consistency, the `node.datadir` variable has been deprecated, use the @@ -35,3 +35,7 @@ These are the changes since Ice 3.6.1. - Added the new metadata tag `delegate` for local interfaces with one operation. Interfaces with this metadata will be generated as a `std::function` in C++, a `delegate` in C#, and a `FunctionalInterface` in Java. + +- Added a new local interface `ValueFactory` that replaces `ObjectFactory` (which is + still available). This interface has one operation and uses the `delegate` + metadata. diff --git a/cpp/include/Ice/.gitignore b/cpp/include/Ice/.gitignore index 7111772146c..fd7066fcaa2 100644 --- a/cpp/include/Ice/.gitignore +++ b/cpp/include/Ice/.gitignore @@ -39,4 +39,6 @@ Router.h ServantLocatorF.h ServantLocator.h SliceChecksumDict.h +ValueFactoryF.h +ValueFactory.h Version.h diff --git a/cpp/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h index 6fc8e06d90b..9c7adf8e3bd 100644 --- a/cpp/include/Ice/BasicStream.h +++ b/cpp/include/Ice/BasicStream.h @@ -15,8 +15,8 @@ #include <Ice/Object.h> #include <Ice/ValueF.h> #include <Ice/ProxyF.h> -#include <Ice/ObjectFactory.h> -#include <Ice/ObjectFactoryManagerF.h> +#include <Ice/ValueFactory.h> +#include <Ice/ValueFactoryManagerF.h> #include <Ice/Buffer.h> #include <Ice/Protocol.h> #include <Ice/SlicedDataF.h> @@ -977,7 +977,7 @@ private: protected: - EncapsDecoder(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ObjectFactoryManagerPtr& f) : + EncapsDecoder(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ValueFactoryManagerPtr& f) : _stream(stream), _encaps(encaps), _sliceObjects(sliceObjects), _servantFactoryManager(f), _typeIdIndex(0) { } @@ -1002,7 +1002,7 @@ private: BasicStream* _stream; ReadEncaps* _encaps; const bool _sliceObjects; - ObjectFactoryManagerPtr _servantFactoryManager; + ValueFactoryManagerPtr _servantFactoryManager; // Encapsulation attributes for object un-marshalling PatchMap _patchMap; @@ -1020,7 +1020,7 @@ private: { public: - EncapsDecoder10(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ObjectFactoryManagerPtr& f) : + EncapsDecoder10(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ValueFactoryManagerPtr& f) : EncapsDecoder(stream, encaps, sliceObjects, f), _sliceType(NoSlice) { } @@ -1053,7 +1053,7 @@ private: { public: - EncapsDecoder11(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ObjectFactoryManagerPtr& f) : + EncapsDecoder11(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects, const ValueFactoryManagerPtr& f) : EncapsDecoder(stream, encaps, sliceObjects, f), _preAllocatedInstanceData(0), _current(0), _objectIdIndex(1) { } diff --git a/cpp/include/Ice/DefaultObjectFactory.h b/cpp/include/Ice/DefaultValueFactory.h index 1ec2a01a7af..15e3aaec7e2 100644 --- a/cpp/include/Ice/DefaultObjectFactory.h +++ b/cpp/include/Ice/DefaultValueFactory.h @@ -7,21 +7,21 @@ // // ********************************************************************** -#ifndef ICE_DEFAULT_OBJECT_FACTORY_H -#define ICE_DEFAULT_OBJECT_FACTORY_H +#ifndef ICE_DEFAULT_VALUE_FACTORY_H +#define ICE_DEFAULT_VALUE_FACTORY_H #include <Ice/Config.h> -#include <Ice/ObjectFactory.h> +#include <Ice/ValueFactory.h> #ifndef ICE_CPP11_MAPPING namespace IceInternal { template<class O> -class DefaultObjectFactory : public Ice::ObjectFactory +class DefaultValueFactory : public Ice::ValueFactory { public: - - DefaultObjectFactory(const ::std::string& typeId) : + + DefaultValueFactory(const ::std::string& typeId) : _typeId(typeId) { } @@ -36,10 +36,6 @@ public: return new O; } - virtual void destroy() - { - } - private: const ::std::string _typeId; }; diff --git a/cpp/include/Ice/FactoryTable.h b/cpp/include/Ice/FactoryTable.h index 24b5243733f..f7afa3f2cd9 100644 --- a/cpp/include/Ice/FactoryTable.h +++ b/cpp/include/Ice/FactoryTable.h @@ -12,7 +12,7 @@ #include <IceUtil/Mutex.h> #include <Ice/UserExceptionFactory.h> -#include <Ice/ObjectFactory.h> +#include <Ice/ValueFactory.h> namespace Ice @@ -40,12 +40,12 @@ public: void removeExceptionFactory(const ::std::string&); #ifdef ICE_CPP11_MAPPING - void addObjectFactory(const ::std::string&, ::std::function<::Ice::ValuePtr (const ::std::string&)>); + void addValueFactory(const ::std::string&, ::std::function<::Ice::ValuePtr (const ::std::string&)>); #else - void addObjectFactory(const ::std::string&, const ::Ice::ObjectFactoryPtr&); + void addValueFactory(const ::std::string&, const ::Ice::ValueFactoryPtr&); #endif - ICE_OBJECT_FACTORY getObjectFactory(const ::std::string&) const; - void removeObjectFactory(const ::std::string&); + ICE_VALUE_FACTORY getValueFactory(const ::std::string&) const; + void removeValueFactory(const ::std::string&); void addTypeId(int, const ::std::string&); std::string getTypeId(int) const; @@ -59,9 +59,9 @@ private: typedef ::std::map< ::std::string, EFPair> EFTable; EFTable _eft; - typedef ::std::pair<ICE_OBJECT_FACTORY, int> OFPair; - typedef ::std::map< ::std::string, OFPair> OFTable; - OFTable _oft; + typedef ::std::pair<ICE_VALUE_FACTORY, int> VFPair; + typedef ::std::map< ::std::string, VFPair> VFTable; + VFTable _vft; typedef ::std::pair< ::std::string, int> TypeIdPair; typedef ::std::map<int, TypeIdPair> TypeIdTable; diff --git a/cpp/include/Ice/FactoryTableInit.h b/cpp/include/Ice/FactoryTableInit.h index 86287412375..51660970d1d 100644 --- a/cpp/include/Ice/FactoryTableInit.h +++ b/cpp/include/Ice/FactoryTableInit.h @@ -11,7 +11,7 @@ #define ICE_FACTORYTABLEINIT_H #include <Ice/FactoryTable.h> -#include <Ice/DefaultObjectFactory.h> +#include <Ice/DefaultValueFactory.h> namespace IceInternal { @@ -32,11 +32,11 @@ extern ICE_API FactoryTable* factoryTable; class ICE_API CompactIdInit { public: - + CompactIdInit(const char*, int); - + ~CompactIdInit(); - + private: const int _compactId; }; @@ -45,7 +45,7 @@ template<class E> class DefaultUserExceptionFactoryInit { public: - + DefaultUserExceptionFactoryInit(const char* typeId) : _typeId(typeId) { @@ -56,38 +56,38 @@ public: { factoryTable->removeExceptionFactory(_typeId); } - + private: const ::std::string _typeId; }; template<class O> -class DefaultObjectFactoryInit +class DefaultValueFactoryInit { public: - - DefaultObjectFactoryInit(const char* typeId) : + + DefaultValueFactoryInit(const char* typeId) : _typeId(typeId) { #ifdef ICE_CPP11_MAPPING - factoryTable->addObjectFactory(_typeId, + factoryTable->addValueFactory(_typeId, [](const std::string&) { return ::std::make_shared<O>(); }); #else - factoryTable->addObjectFactory(_typeId, new DefaultObjectFactory<O>(_typeId)); + factoryTable->addValueFactory(_typeId, new DefaultValueFactory<O>(_typeId)); #endif } - ~DefaultObjectFactoryInit() + ~DefaultValueFactoryInit() { - factoryTable->removeObjectFactory(_typeId); + factoryTable->removeValueFactory(_typeId); } - + private: const ::std::string _typeId; - + }; } diff --git a/cpp/include/Ice/ObjectFactoryManagerF.h b/cpp/include/Ice/ValueFactoryManagerF.h index 119ee53219a..6a7b05f997e 100644 --- a/cpp/include/Ice/ObjectFactoryManagerF.h +++ b/cpp/include/Ice/ValueFactoryManagerF.h @@ -7,8 +7,8 @@ // // ********************************************************************** -#ifndef ICE_OBJECT_FACTORY_MANAGER_F_H -#define ICE_OBJECT_FACTORY_MANAGER_F_H +#ifndef ICE_VALUE_FACTORY_MANAGER_F_H +#define ICE_VALUE_FACTORY_MANAGER_F_H #include <IceUtil/Shared.h> @@ -17,9 +17,15 @@ namespace IceInternal { -class ObjectFactoryManager; -IceUtil::Shared* upCast(ObjectFactoryManager*); -typedef Handle<ObjectFactoryManager> ObjectFactoryManagerPtr; +#ifndef ICE_CPP11_MAPPING +class ValueFactoryWrapper; +IceUtil::Shared* upCast(ValueFactoryWrapper*); +typedef Handle<ValueFactoryWrapper> ValueFactoryWrapperPtr; +#endif + +class ValueFactoryManager; +IceUtil::Shared* upCast(ValueFactoryManager*); +typedef Handle<ValueFactoryManager> ValueFactoryManagerPtr; } diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h index 7f0aebb879c..a3e5b083aa2 100644 --- a/cpp/include/IceUtil/Config.h +++ b/cpp/include/IceUtil/Config.h @@ -267,7 +267,7 @@ typedef long long Int64; # define ICE_SHARED_FROM_THIS shared_from_this() # define ICE_CHECKED_CAST(T,V) Ice::checkedCast<T>(V) # define ICE_UNCHECKED_CAST(T,V) Ice::uncheckedCast<T>(V) -# define ICE_OBJECT_FACTORY ::std::function<::Ice::ValuePtr (const std::string& type)> +# define ICE_VALUE_FACTORY ::std::function<::Ice::ValuePtr (const std::string& type)> #else // C++98 mapping # define ICE_HANDLE ::IceUtil::Handle # define ICE_INTERNAL_HANDLE ::IceInternal::Handle @@ -281,7 +281,7 @@ typedef long long Int64; # define ICE_SHARED_FROM_THIS this # define ICE_CHECKED_CAST(T,V) T::checkedCast(V) # define ICE_UNCHECKED_CAST(T,V) T::uncheckedCast(V) -# define ICE_OBJECT_FACTORY ::Ice::ObjectFactoryPtr +# define ICE_VALUE_FACTORY ::Ice::ValueFactoryPtr #endif #endif diff --git a/cpp/src/Glacier2/Instance.cpp b/cpp/src/Glacier2/Instance.cpp index 83eab27bda7..f9c4c1dc00a 100644 --- a/cpp/src/Glacier2/Instance.cpp +++ b/cpp/src/Glacier2/Instance.cpp @@ -25,7 +25,7 @@ const string clientBuffered = "Glacier2.Client.Buffered"; } -Glacier2::Instance::Instance(const Ice::CommunicatorPtr& communicator, const Ice::ObjectAdapterPtr& clientAdapter, +Glacier2::Instance::Instance(const Ice::CommunicatorPtr& communicator, const Ice::ObjectAdapterPtr& clientAdapter, const Ice::ObjectAdapterPtr& serverAdapter) : _communicator(communicator), _properties(communicator->getProperties()), @@ -69,12 +69,12 @@ Glacier2::Instance::Instance(const Ice::CommunicatorPtr& communicator, const Ice // If an Ice metrics observer is setup on the communicator, also // enable metrics for IceStorm. // - IceInternal::CommunicatorObserverIPtr o = + IceInternal::CommunicatorObserverIPtr o = IceInternal::CommunicatorObserverIPtr::dynamicCast(communicator->getObserver()); if(o) { - const_cast<Glacier2::Instrumentation::RouterObserverPtr&>(_observer) = - new RouterObserverI(o->getFacet(), + const_cast<Glacier2::Instrumentation::RouterObserverPtr&>(_observer) = + new RouterObserverI(o->getFacet(), _properties->getPropertyWithDefault("Glacier2.InstanceName", "Glacier2")); } } @@ -90,7 +90,7 @@ Glacier2::Instance::destroy() { _clientRequestQueueThread->destroy(); } - + if(_serverRequestQueueThread) { _serverRequestQueueThread->destroy(); diff --git a/cpp/src/Ice/.depend.mak b/cpp/src/Ice/.depend.mak index f858d5d4a32..4f4e11d2b6b 100755 --- a/cpp/src/Ice/.depend.mak +++ b/cpp/src/Ice/.depend.mak @@ -8,6 +8,7 @@ Communicator.h: \ "$(slicedir)/Ice/InstrumentationF.ice" \ "$(slicedir)/Ice/ObjectAdapterF.ice" \ "$(slicedir)/Ice/ObjectFactory.ice" \ + "$(slicedir)/Ice/ValueFactory.ice" \ "$(slicedir)/Ice/RouterF.ice" \ "$(slicedir)/Ice/LocatorF.ice" \ "$(slicedir)/Ice/PluginF.ice" \ @@ -179,6 +180,9 @@ ServantLocatorF.h: \ SliceChecksumDict.h: \ "$(slicedir)\Ice\SliceChecksumDict.ice" +ValueFactory.h: \ + "$(slicedir)\Ice\ValueFactory.ice" + Version.h: \ "$(slicedir)\Ice\Version.ice" @@ -247,13 +251,15 @@ Acceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ @@ -319,15 +325,16 @@ ACM.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ "ConnectionI.h" \ @@ -346,9 +353,9 @@ ACM.obj: \ "NetworkF.h" \ "NetworkProxyF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -359,6 +366,8 @@ ACM.obj: \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -390,6 +399,7 @@ Application.obj: \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\Config.h" \ "$(includedir)\IceUtil\Config.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\DeprecatedStringConverter.h" \ "$(includedir)\Ice\CommunicatorF.h" \ "$(includedir)\Ice\ProxyF.h" \ @@ -450,17 +460,17 @@ Application.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -470,13 +480,14 @@ Application.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\RemoteLogger.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -505,6 +516,7 @@ Application.obj: \ "$(includedir)\Ice\SliceChecksumDict.h" \ "$(includedir)\Ice\Service.h" \ "$(includedir)\Ice\RegisterPlugins.h" \ + "$(includedir)\Ice\InterfaceByValue.h" \ "LoggerI.h" \ "$(includedir)\IceUtil\FileUtil.h" \ "$(includedir)\IceUtil\CtrlCHandler.h" \ @@ -562,8 +574,8 @@ AsyncResult.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -581,12 +593,15 @@ AsyncResult.obj: \ "$(includedir)\Ice\EndpointTypes.h" \ "$(includedir)\Ice\ReferenceF.h" \ "$(includedir)\Ice\BatchRequestQueueF.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "EventHandler.h" \ "EventHandlerF.h" \ "Network.h" \ "NetworkF.h" \ "NetworkProxyF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "Selector.h" \ "$(includedir)\IceUtil\StringUtil.h" \ "Instance.h" \ @@ -603,7 +618,6 @@ AsyncResult.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "IPEndpointIF.h" \ @@ -615,7 +629,6 @@ AsyncResult.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -625,6 +638,8 @@ AsyncResult.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\Properties.h" \ @@ -682,8 +697,8 @@ BasicStream.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -708,8 +723,9 @@ BasicStream.obj: \ "$(includedir)\Ice\AsyncResultF.h" \ "$(includedir)\Ice\ObserverHelper.h" \ "$(includedir)\Ice\Instrumentation.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "Network.h" \ "NetworkF.h" \ "NetworkProxyF.h" \ @@ -741,7 +757,6 @@ BasicStream.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -751,14 +766,15 @@ BasicStream.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "ProxyFactory.h" \ "$(includedir)\Ice\OutgoingAsyncF.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "ObjectFactoryManager.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "ValueFactoryManager.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "TraceUtil.h" \ "TraceLevels.h" \ "$(includedir)\Ice\LoggerUtil.h" \ @@ -812,8 +828,8 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -846,8 +862,9 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\AsyncResultF.h" \ "$(includedir)\Ice\ObserverHelper.h" \ "$(includedir)\Ice\Instrumentation.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ @@ -863,7 +880,6 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\Plugin.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -873,6 +889,8 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ @@ -956,6 +974,7 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\Version.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "VirtualShared.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\InstanceF.h" \ @@ -964,8 +983,8 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -1025,6 +1044,8 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "Instance.h" \ "$(includedir)\Ice\InstrumentationF.h" \ @@ -1108,17 +1129,18 @@ CommunicatorI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "$(includedir)\Ice\Communicator.h" \ @@ -1130,6 +1152,9 @@ CommunicatorI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -1158,7 +1183,6 @@ CommunicatorI.obj: \ "NetworkProxyF.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ "ConnectionFactory.h" \ "ConnectionI.h" \ @@ -1171,6 +1195,7 @@ CommunicatorI.obj: \ "EventHandlerF.h" \ "Network.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -1182,7 +1207,7 @@ CommunicatorI.obj: \ "BatchRequestQueue.h" \ "SharedContext.h" \ "ProxyFactory.h" \ - "ObjectFactoryManager.h" \ + "ValueFactoryManager.h" \ "ObjectAdapterFactory.h" \ "ObjectAdapterI.h" \ "$(includedir)\Ice\ObjectAdapter.h" \ @@ -1258,15 +1283,16 @@ ConnectionFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "TransceiverF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "EndpointIF.h" \ @@ -1282,9 +1308,9 @@ ConnectionFactory.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -1318,6 +1344,8 @@ ConnectionFactory.obj: \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "TraceLevels.h" \ @@ -1408,15 +1436,16 @@ ConnectionI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "TransceiverF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1433,9 +1462,9 @@ ConnectionI.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -1466,6 +1495,8 @@ ConnectionI.obj: \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\Properties.h" \ @@ -1552,13 +1583,15 @@ ConnectionRequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "Reference.h" \ "ReferenceFactoryF.h" \ "EndpointIF.h" \ @@ -1578,8 +1611,9 @@ ConnectionRequestHandler.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "ConnectionI.h" \ "..\..\src\IceUtil\StopWatch.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -1599,8 +1633,8 @@ ConnectionRequestHandler.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ "ACM.h" \ @@ -1689,13 +1723,15 @@ ConnectRequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocatorF.h" \ "RouterInfoF.h" \ "LocatorInfoF.h" \ @@ -1711,8 +1747,9 @@ ConnectRequestHandler.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "RouterInfo.h" \ "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\Comparable.h" \ @@ -1746,7 +1783,6 @@ ConnectRequestHandler.obj: \ "$(includedir)\Ice\Plugin.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "ConnectionI.h" \ @@ -1757,6 +1793,7 @@ ConnectRequestHandler.obj: \ "EventHandlerF.h" \ "Network.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ "$(includedir)\Ice\Outgoing.h" \ @@ -1825,15 +1862,16 @@ DefaultsAndOverrides.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "Network.h" \ "NetworkF.h" \ "NetworkProxyF.h" \ @@ -1848,11 +1886,12 @@ DefaultsAndOverrides.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\Plugin.h" \ - "$(includedir)\Ice\LocalException.h" \ DeprecatedStringConverter.obj: \ DeprecatedStringConverter.cpp \ @@ -1920,13 +1959,14 @@ DeprecatedStringConverter.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ @@ -1953,7 +1993,6 @@ DeprecatedStringConverter.obj: \ "NetworkProxyF.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -1963,6 +2002,8 @@ DeprecatedStringConverter.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ DispatchInterceptor.obj: \ DispatchInterceptor.cpp \ @@ -2011,8 +2052,8 @@ DispatchInterceptor.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2118,13 +2159,14 @@ EndpointFactory.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ @@ -2140,7 +2182,6 @@ EndpointFactory.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -2150,6 +2191,8 @@ EndpointFactory.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "EndpointFactoryManager.h" \ EndpointFactoryManager.obj: \ @@ -2211,8 +2254,8 @@ EndpointFactoryManager.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2269,6 +2312,8 @@ EndpointFactoryManager.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ @@ -2357,8 +2402,8 @@ EventHandler.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2384,8 +2429,11 @@ EventHandler.obj: \ "$(includedir)\Ice\AsyncResultF.h" \ "$(includedir)\Ice\ObserverHelper.h" \ "$(includedir)\Ice\Instrumentation.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -2401,7 +2449,6 @@ EventHandler.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "IPEndpointIF.h" \ @@ -2414,7 +2461,6 @@ EventHandler.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -2424,6 +2470,8 @@ EventHandler.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ Exception.obj: \ Exception.cpp \ @@ -2488,8 +2536,8 @@ Exception.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2520,7 +2568,7 @@ FactoryTable.obj: \ "$(includedir)\IceUtil\Atomic.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ + "$(includedir)\Ice\ValueFactory.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ProxyF.h" \ "$(includedir)\Ice\ProxyHandle.h" \ @@ -2556,7 +2604,7 @@ FactoryTableInit.obj: \ "$(includedir)\IceUtil\Atomic.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ + "$(includedir)\Ice\ValueFactory.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ProxyF.h" \ "$(includedir)\Ice\ProxyHandle.h" \ @@ -2575,7 +2623,7 @@ FactoryTableInit.obj: \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ "$(includedir)\IceUtil\PopDisableWarnings.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ GCObject.obj: \ @@ -2661,8 +2709,8 @@ HttpParser.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2717,8 +2765,8 @@ ImplicitContextI.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2771,8 +2819,8 @@ Incoming.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2797,10 +2845,11 @@ Incoming.obj: \ "$(includedir)\IceUtil\UniquePtr.h" \ "$(includedir)\Ice\CommunicatorF.h" \ "$(includedir)\Ice\AsyncResultF.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ServantLocator.h" \ "ServantManager.h" \ "ConnectionI.h" \ @@ -2823,9 +2872,9 @@ Incoming.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ "ACM.h" \ @@ -2852,6 +2901,8 @@ Incoming.obj: \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\LoggerUtil.h" \ @@ -2905,8 +2956,8 @@ IncomingAsync.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -2934,8 +2985,9 @@ IncomingAsync.obj: \ "$(includedir)\Ice\BatchRequestQueueF.h" \ "$(includedir)\Ice\AsyncResult.h" \ "$(includedir)\Ice\AsyncResultF.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "TransceiverF.h" \ "EndpointIF.h" \ @@ -2951,9 +3003,9 @@ IncomingAsync.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ "ACM.h" \ @@ -2981,6 +3033,8 @@ IncomingAsync.obj: \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "ReplyStatus.h" \ @@ -3050,17 +3104,18 @@ Initialize.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "$(includedir)\Ice\Communicator.h" \ @@ -3072,6 +3127,9 @@ Initialize.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -3081,7 +3139,6 @@ Initialize.obj: \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\CommunicatorAsync.h" \ "PropertiesI.h" \ - "$(includedir)\Ice\LocalException.h" \ "StreamI.h" \ "$(includedir)\Ice\Stream.h" \ "LoggerI.h" \ @@ -3182,15 +3239,16 @@ Instance.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ @@ -3207,7 +3265,6 @@ Instance.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -3217,6 +3274,8 @@ Instance.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "TraceLevels.h" \ "DefaultsAndOverrides.h" \ "Network.h" \ @@ -3229,8 +3288,6 @@ Instance.obj: \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\IncomingAsync.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "ReferenceFactory.h" \ "Reference.h" \ "$(includedir)\Ice\RouterF.h" \ @@ -3243,6 +3300,7 @@ Instance.obj: \ "ThreadPool.h" \ "EventHandler.h" \ "EventHandlerF.h" \ + "VirtualShared.h" \ "Selector.h" \ "$(includedir)\IceUtil\StringUtil.h" \ "ConnectionFactory.h" \ @@ -3255,7 +3313,8 @@ Instance.obj: \ "$(includedir)\Ice\ConnectionAsync.h" \ "AcceptorF.h" \ "EndpointI.h" \ - "ObjectFactoryManager.h" \ + "ValueFactoryManager.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "ObjectAdapterFactory.h" \ "ObjectAdapterI.h" \ "$(includedir)\Ice\ObjectAdapter.h" \ @@ -3352,13 +3411,14 @@ InstrumentationI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Metrics.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -3368,7 +3428,7 @@ InstrumentationI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\MetricsAdminI.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -3387,8 +3447,8 @@ InstrumentationI.obj: \ "$(includedir)\Ice\ObjectAdapter.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\FacetMap.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\PluginF.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ @@ -3466,13 +3526,14 @@ IPEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "ProtocolInstance.h" \ @@ -3501,7 +3562,6 @@ IPEndpointI.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -3511,6 +3571,8 @@ IPEndpointI.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "PropertiesI.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -3593,13 +3655,15 @@ LocatorInfo.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "EndpointIF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\Locator.h" \ @@ -3612,10 +3676,8 @@ LocatorInfo.obj: \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Process.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -3662,6 +3724,7 @@ LocatorInfo.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ + "$(includedir)\Ice\Comparable.h" \ LoggerAdminI.obj: \ LoggerAdminI.cpp \ @@ -3723,20 +3786,21 @@ LoggerAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Initialize.h" \ "$(includedir)\IceUtil\Timer.h" \ "$(includedir)\IceUtil\Thread.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "$(includedir)\Ice\Communicator.h" \ @@ -3748,6 +3812,9 @@ LoggerAdminI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -3756,12 +3823,9 @@ LoggerAdminI.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\RemoteLogger.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\ObjectAdapter.h" \ "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\Connection.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\LoggerUtil.h" \ LoggerI.obj: \ @@ -3884,8 +3948,8 @@ LoggerUtil.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -3915,6 +3979,8 @@ LoggerUtil.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ MetricsAdminI.obj: \ MetricsAdminI.cpp \ @@ -3975,13 +4041,15 @@ MetricsAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -3990,8 +4058,9 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\NativePropertiesAdmin.h" \ "$(includedir)\Ice\Initialize.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -4003,8 +4072,6 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "$(includedir)\Ice\Metrics.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "InstrumentationI.h" \ "$(includedir)\Ice\MetricsObserverI.h" \ "..\..\src\IceUtil\StopWatch.h" \ @@ -4013,6 +4080,7 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\MetricsFunctional.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -4038,7 +4106,6 @@ MetricsAdminI.obj: \ "NetworkProxyF.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\IceUtil\StringUtil.h" \ @@ -4105,13 +4172,14 @@ MetricsObserverI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Metrics.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -4121,7 +4189,7 @@ MetricsObserverI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\MetricsAdminI.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -4200,19 +4268,19 @@ Network.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "NetworkProxy.h" \ "$(includedir)\IceUtil\StringUtil.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "ProtocolInstance.h" \ "EndpointIF.h" \ "ConnectorF.h" \ @@ -4253,6 +4321,8 @@ Network.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ @@ -4322,18 +4392,18 @@ NetworkProxy.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "HttpParser.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -4343,6 +4413,8 @@ NetworkProxy.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ Object.obj: \ @@ -4390,8 +4462,8 @@ Object.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -4484,18 +4556,19 @@ ObjectAdapterFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -4511,7 +4584,6 @@ ObjectAdapterFactory.obj: \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "$(includedir)\IceUtil\UUID.h" \ @@ -4577,18 +4649,19 @@ ObjectAdapterI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -4623,13 +4696,14 @@ ObjectAdapterI.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "ProxyFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -4652,6 +4726,7 @@ ObjectAdapterI.obj: \ "EventHandlerF.h" \ "Network.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -4663,60 +4738,18 @@ ObjectAdapterI.obj: \ "$(includedir)\IceUtil\Functional.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "ThreadPool.h" \ "Selector.h" \ "$(includedir)\IceUtil\StringUtil.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ "DefaultsAndOverrides.h" \ "TraceLevels.h" \ "PropertyNames.h" \ -ObjectFactoryManager.obj: \ - ObjectFactoryManager.cpp \ - "ObjectFactoryManager.h" \ - "$(includedir)\IceUtil\Shared.h" \ - "$(includedir)\IceUtil\Config.h" \ - "$(includedir)\IceUtil\Atomic.h" \ - "$(includedir)\IceUtil\Mutex.h" \ - "$(includedir)\IceUtil\Lock.h" \ - "$(includedir)\IceUtil\ThreadException.h" \ - "$(includedir)\IceUtil\Exception.h" \ - "$(includedir)\IceUtil\Time.h" \ - "$(includedir)\IceUtil\MutexProtocol.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ - "$(includedir)\Ice\Handle.h" \ - "$(includedir)\IceUtil\Handle.h" \ - "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\IceUtil\PushDisableWarnings.h" \ - "$(includedir)\Ice\ProxyF.h" \ - "$(includedir)\Ice\ProxyHandle.h" \ - "$(includedir)\Ice\ObjectF.h" \ - "$(includedir)\Ice\ValueF.h" \ - "$(includedir)\Ice\Exception.h" \ - "$(includedir)\Ice\Format.h" \ - "$(includedir)\Ice\StreamF.h" \ - "$(includedir)\Ice\LocalObject.h" \ - "$(includedir)\Ice\LocalObjectF.h" \ - "$(includedir)\Ice\StreamHelpers.h" \ - "$(includedir)\IceUtil\ScopedArray.h" \ - "$(includedir)\IceUtil\Iterator.h" \ - "$(includedir)\Ice\Traits.h" \ - "$(includedir)\IceUtil\Optional.h" \ - "$(includedir)\IceUtil\UndefSysMacros.h" \ - "$(includedir)\IceUtil\PopDisableWarnings.h" \ - "$(includedir)\Ice\Functional.h" \ - "$(includedir)\IceUtil\Functional.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - ObserverHelper.obj: \ ObserverHelper.cpp \ "$(includedir)\Ice\ObserverHelper.h" \ @@ -4778,13 +4811,15 @@ ObserverHelper.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocatorF.h" \ "RouterInfoF.h" \ "LocatorInfoF.h" \ @@ -4800,8 +4835,9 @@ ObserverHelper.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -4830,7 +4866,6 @@ ObserverHelper.obj: \ "$(includedir)\Ice\Plugin.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ @@ -4891,8 +4926,8 @@ OpaqueEndpointI.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -4914,12 +4949,12 @@ OpaqueEndpointI.obj: \ "$(includedir)\Ice\AsyncResultF.h" \ "$(includedir)\Ice\ObserverHelper.h" \ "$(includedir)\Ice\Instrumentation.h" \ + "$(includedir)\Ice\LocalException.h" \ "Network.h" \ "NetworkF.h" \ "NetworkProxyF.h" \ "Base64.h" \ "HashUtil.h" \ - "$(includedir)\Ice\LocalException.h" \ Outgoing.obj: \ Outgoing.cpp \ @@ -4969,8 +5004,8 @@ Outgoing.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -4991,8 +5026,9 @@ Outgoing.obj: \ "$(includedir)\Ice\BatchRequestQueueF.h" \ "$(includedir)\Ice\AsyncResult.h" \ "$(includedir)\Ice\AsyncResultF.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "TransceiverF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5009,9 +5045,9 @@ Outgoing.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -5034,6 +5070,8 @@ Outgoing.obj: \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -5108,8 +5146,8 @@ OutgoingAsync.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -5124,8 +5162,9 @@ OutgoingAsync.obj: \ "$(includedir)\Ice\EndpointTypes.h" \ "$(includedir)\Ice\ReferenceF.h" \ "$(includedir)\Ice\BatchRequestQueueF.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\ConnectionFactoryF.h" \ "TransceiverF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5141,9 +5180,9 @@ OutgoingAsync.obj: \ "NetworkProxyF.h" \ "$(includedir)\Ice\PropertiesF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -5166,6 +5205,8 @@ OutgoingAsync.obj: \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -5255,13 +5296,14 @@ PluginManagerI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -5270,7 +5312,10 @@ PluginManagerI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\InstrumentationF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -5306,7 +5351,6 @@ PluginManagerI.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ PropertiesAdminI.obj: \ @@ -5369,13 +5413,15 @@ PropertiesAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -5384,8 +5430,9 @@ PropertiesAdminI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\NativePropertiesAdmin.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\Logger.h" \ @@ -5451,13 +5498,15 @@ PropertiesI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -5466,8 +5515,9 @@ PropertiesI.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\IceUtil\StringUtil.h" \ "$(includedir)\IceUtil\FileUtil.h" \ "$(includedir)\Ice\Initialize.h" \ @@ -5479,11 +5529,11 @@ PropertiesI.obj: \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ - "$(includedir)\Ice\LocalException.h" \ "PropertyNames.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -5588,13 +5638,15 @@ ProtocolInstance.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "EndpointIF.h" \ "ConnectorF.h" \ @@ -5616,7 +5668,6 @@ ProtocolInstance.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -5629,7 +5680,6 @@ ProtocolInstance.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -5639,6 +5689,8 @@ ProtocolInstance.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "IPEndpointI.h" \ "EndpointI.h" \ "TransceiverF.h" \ @@ -5724,15 +5776,16 @@ ProtocolPluginFacade.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ @@ -5748,7 +5801,6 @@ ProtocolPluginFacade.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -5758,6 +5810,8 @@ ProtocolPluginFacade.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "EndpointFactoryManager.h" \ "TraceLevels.h" \ "DefaultsAndOverrides.h" \ @@ -5821,13 +5875,15 @@ Proxy.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "ProxyFactory.h" \ "$(includedir)\Ice\OutgoingAsyncF.h" \ "$(includedir)\Ice\Properties.h" \ @@ -5839,8 +5895,9 @@ Proxy.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "ReferenceFactory.h" \ "ReferenceFactoryF.h" \ "Reference.h" \ @@ -5890,7 +5947,6 @@ Proxy.obj: \ "$(includedir)\Ice\Plugin.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ "RouterInfo.h" \ "$(includedir)\Ice\Router.h" \ @@ -5902,6 +5958,7 @@ Proxy.obj: \ "EventHandlerF.h" \ "Network.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -5968,13 +6025,15 @@ ProxyFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -5983,8 +6042,9 @@ ProxyFactory.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -6016,7 +6076,6 @@ ProxyFactory.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "ReferenceFactory.h" \ @@ -6096,13 +6155,15 @@ Reference.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocatorF.h" \ "RouterInfoF.h" \ "LocatorInfoF.h" \ @@ -6118,10 +6179,10 @@ Reference.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "ReferenceFactory.h" \ - "$(includedir)\Ice\LocalException.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -6165,8 +6226,6 @@ Reference.obj: \ "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "ConnectionI.h" \ @@ -6175,6 +6234,7 @@ Reference.obj: \ "EventHandler.h" \ "EventHandlerF.h" \ "Network.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -6248,13 +6308,15 @@ ReferenceFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -6263,15 +6325,17 @@ ReferenceFactory.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\FacetMap.h" \ "ReferenceFactory.h" \ "ReferenceFactoryF.h" \ @@ -6284,7 +6348,6 @@ ReferenceFactory.obj: \ "SharedContext.h" \ "ProxyFactory.h" \ "$(includedir)\Ice\OutgoingAsyncF.h" \ - "$(includedir)\Ice\LocalException.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -6321,6 +6384,7 @@ ReferenceFactory.obj: \ "EventHandlerF.h" \ "Network.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ @@ -6331,8 +6395,6 @@ ReferenceFactory.obj: \ "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "DefaultsAndOverrides.h" \ @@ -6401,17 +6463,18 @@ RegisterPluginsInit.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Plugin.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ @@ -6478,13 +6541,15 @@ RequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocatorF.h" \ "RouterInfoF.h" \ "LocatorInfoF.h" \ @@ -6500,8 +6565,9 @@ RequestHandler.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ RequestHandlerFactory.obj: \ RequestHandlerFactory.cpp \ @@ -6552,6 +6618,7 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\Version.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "VirtualShared.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ @@ -6559,8 +6626,8 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -6597,6 +6664,8 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "RouterInfo.h" \ "$(includedir)\Ice\Router.h" \ @@ -6665,6 +6734,7 @@ ResponseHandler.obj: \ "$(includedir)\Ice\Version.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "VirtualShared.h" \ RetryQueue.obj: \ RetryQueue.cpp \ @@ -6726,8 +6796,8 @@ RetryQueue.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -6777,6 +6847,8 @@ RetryQueue.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "TraceLevels.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -6841,13 +6913,15 @@ RouterInfo.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -6855,10 +6929,10 @@ RouterInfo.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "EndpointIF.h" \ "$(includedir)\Ice\Comparable.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\Functional.h" \ @@ -6938,18 +7012,21 @@ Selector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "EventHandlerF.h" \ "EventHandler.h" \ "$(includedir)\Ice\ThreadPoolF.h" \ + "VirtualShared.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -6965,7 +7042,6 @@ Selector.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "IPEndpointIF.h" \ @@ -6978,7 +7054,6 @@ Selector.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -6988,6 +7063,8 @@ Selector.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -7074,8 +7151,8 @@ ServantManager.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -7102,6 +7179,8 @@ ServantManager.obj: \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\IceUtil\StringUtil.h" \ Service.obj: \ @@ -7128,6 +7207,7 @@ Service.obj: \ "$(includedir)\Ice\Ice.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\Config.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\DeprecatedStringConverter.h" \ "$(includedir)\Ice\CommunicatorF.h" \ "$(includedir)\Ice\ProxyF.h" \ @@ -7175,17 +7255,17 @@ Service.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\InstrumentationF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -7195,13 +7275,14 @@ Service.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\RemoteLogger.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -7230,6 +7311,7 @@ Service.obj: \ "$(includedir)\Ice\SliceChecksums.h" \ "$(includedir)\Ice\SliceChecksumDict.h" \ "$(includedir)\Ice\RegisterPlugins.h" \ + "$(includedir)\Ice\InterfaceByValue.h" \ "LoggerI.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -7333,8 +7415,8 @@ SlicedData.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\InstanceF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ @@ -7398,13 +7480,15 @@ Stream.obj: \ "$(includedir)\Ice\Instrumentation.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ StreamI.obj: \ StreamI.cpp \ @@ -7465,13 +7549,15 @@ StreamI.obj: \ "$(includedir)\Ice\Instrumentation.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -7488,7 +7574,6 @@ StreamI.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ @@ -7505,7 +7590,6 @@ StreamI.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -7515,6 +7599,8 @@ StreamI.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "DefaultsAndOverrides.h" \ "Network.h" \ "ProtocolInstanceF.h" \ @@ -7581,13 +7667,15 @@ StreamSocket.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "NetworkProxy.h" \ @@ -7611,7 +7699,6 @@ StreamSocket.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -7623,7 +7710,6 @@ StreamSocket.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -7633,6 +7719,8 @@ StreamSocket.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ StringConverterPlugin.obj: \ StringConverterPlugin.cpp \ @@ -7706,13 +7794,14 @@ StringConverterPlugin.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ @@ -7720,7 +7809,10 @@ StringConverterPlugin.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\InstrumentationF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -7732,7 +7824,6 @@ StringConverterPlugin.obj: \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\Dispatcher.h" \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -7803,13 +7894,15 @@ TcpAcceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "TcpTransceiver.h" \ "Transceiver.h" \ @@ -7834,7 +7927,6 @@ TcpAcceptor.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -7846,7 +7938,6 @@ TcpAcceptor.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -7856,6 +7947,8 @@ TcpAcceptor.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "HttpParser.h" \ "TcpEndpointI.h" \ "IPEndpointI.h" \ @@ -7936,13 +8029,15 @@ TcpConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "TcpTransceiver.h" \ "Transceiver.h" \ @@ -7967,7 +8062,6 @@ TcpConnector.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -7979,7 +8073,6 @@ TcpConnector.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -7989,6 +8082,8 @@ TcpConnector.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "HttpParser.h" \ "TcpEndpointI.h" \ "IPEndpointI.h" \ @@ -8073,13 +8168,14 @@ TcpEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "EndpointFactory.h" \ @@ -8111,7 +8207,6 @@ TcpEndpointI.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -8121,6 +8216,8 @@ TcpEndpointI.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "TcpAcceptor.h" \ "Acceptor.h" \ "TcpConnector.h" \ @@ -8198,13 +8295,15 @@ TcpTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "StreamSocket.h" \ "WSTransceiver.h" \ @@ -8227,7 +8326,6 @@ TcpTransceiver.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -8239,7 +8337,6 @@ TcpTransceiver.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -8249,6 +8346,8 @@ TcpTransceiver.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "HttpParser.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -8316,23 +8415,24 @@ ThreadPool.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "EventHandler.h" \ "EventHandlerF.h" \ "Network.h" \ "NetworkF.h" \ "NetworkProxyF.h" \ "ProtocolInstanceF.h" \ + "VirtualShared.h" \ "Selector.h" \ "$(includedir)\IceUtil\StringUtil.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -8367,6 +8467,8 @@ ThreadPool.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "ObjectAdapterFactory.h" \ @@ -8440,13 +8542,15 @@ TraceLevels.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ @@ -8456,8 +8560,9 @@ TraceLevels.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ TraceUtil.obj: \ TraceUtil.cpp \ @@ -8535,15 +8640,16 @@ TraceUtil.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\PropertiesF.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ @@ -8559,7 +8665,6 @@ TraceUtil.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -8568,6 +8673,8 @@ TraceUtil.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "TraceLevels.h" \ "$(includedir)\Ice\Logger.h" \ "ReplyStatus.h" \ @@ -8636,13 +8743,15 @@ Transceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ @@ -8712,13 +8821,15 @@ UdpConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstance.h" \ "EndpointIF.h" \ @@ -8739,7 +8850,6 @@ UdpConnector.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -8751,7 +8861,6 @@ UdpConnector.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -8761,6 +8870,8 @@ UdpConnector.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "UdpTransceiver.h" \ "Transceiver.h" \ "UdpEndpointI.h" \ @@ -8842,13 +8953,14 @@ UdpEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\LoggerF.h" \ "ProtocolInstanceF.h" \ "EndpointFactory.h" \ @@ -8858,7 +8970,6 @@ UdpEndpointI.obj: \ "Connector.h" \ "UdpTransceiver.h" \ "Transceiver.h" \ - "$(includedir)\Ice\LocalException.h" \ "ProtocolInstance.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -8893,6 +9004,8 @@ UdpEndpointI.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "HashUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -8962,13 +9075,15 @@ UdpTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "UdpEndpointI.h" \ "IPEndpointI.h" \ @@ -8976,7 +9091,6 @@ UdpTransceiver.obj: \ "IPEndpointIF.h" \ "EndpointI.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "ConnectorF.h" \ "AcceptorF.h" \ "EndpointFactory.h" \ @@ -9007,7 +9121,6 @@ UdpTransceiver.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -9017,6 +9130,8 @@ UdpTransceiver.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\Properties.h" \ @@ -9024,6 +9139,53 @@ UdpTransceiver.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\IceUtil\StringUtil.h" \ +ValueFactoryManager.obj: \ + ValueFactoryManager.cpp \ + "ValueFactoryManager.h" \ + "$(includedir)\IceUtil\Shared.h" \ + "$(includedir)\IceUtil\Config.h" \ + "$(includedir)\IceUtil\Atomic.h" \ + "$(includedir)\IceUtil\Mutex.h" \ + "$(includedir)\IceUtil\Lock.h" \ + "$(includedir)\IceUtil\ThreadException.h" \ + "$(includedir)\IceUtil\Exception.h" \ + "$(includedir)\IceUtil\Time.h" \ + "$(includedir)\IceUtil\MutexProtocol.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ + "$(includedir)\Ice\Handle.h" \ + "$(includedir)\IceUtil\Handle.h" \ + "$(includedir)\Ice\Config.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ProxyF.h" \ + "$(includedir)\Ice\ProxyHandle.h" \ + "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ + "$(includedir)\Ice\Exception.h" \ + "$(includedir)\Ice\Format.h" \ + "$(includedir)\Ice\StreamF.h" \ + "$(includedir)\Ice\LocalObject.h" \ + "$(includedir)\Ice\LocalObjectF.h" \ + "$(includedir)\Ice\StreamHelpers.h" \ + "$(includedir)\IceUtil\ScopedArray.h" \ + "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ + "$(includedir)\IceUtil\Optional.h" \ + "$(includedir)\IceUtil\UndefSysMacros.h" \ + "$(includedir)\IceUtil\PopDisableWarnings.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ + "$(includedir)\Ice\Object.h" \ + "$(includedir)\Ice\IncomingAsyncF.h" \ + "$(includedir)\Ice\Current.h" \ + "$(includedir)\Ice\ObjectAdapterF.h" \ + "$(includedir)\Ice\ConnectionF.h" \ + "$(includedir)\Ice\Identity.h" \ + "$(includedir)\Ice\Version.h" \ + "$(includedir)\Ice\Functional.h" \ + "$(includedir)\IceUtil\Functional.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ + WSAcceptor.obj: \ WSAcceptor.cpp \ "WSAcceptor.h" \ @@ -9091,13 +9253,15 @@ WSAcceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "ProtocolInstanceF.h" \ "ProtocolInstance.h" \ "ConnectorF.h" \ @@ -9118,7 +9282,6 @@ WSAcceptor.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -9130,7 +9293,6 @@ WSAcceptor.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -9140,6 +9302,8 @@ WSAcceptor.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "WSTransceiver.h" \ "HttpParser.h" \ "Transceiver.h" \ @@ -9213,13 +9377,15 @@ WSConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "EndpointIF.h" \ "IPEndpointIF.h" \ "NetworkF.h" \ @@ -9239,7 +9405,6 @@ WSConnector.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -9252,7 +9417,6 @@ WSConnector.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -9262,6 +9426,8 @@ WSConnector.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "WSTransceiver.h" \ "HttpParser.h" \ "Transceiver.h" \ @@ -9345,13 +9511,14 @@ WSEndpoint.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ "NetworkF.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -9379,7 +9546,6 @@ WSEndpoint.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -9389,6 +9555,8 @@ WSEndpoint.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "WSAcceptor.h" \ "Acceptor.h" \ "Network.h" \ @@ -9459,13 +9627,15 @@ WSTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LoggerF.h" \ "EndpointIF.h" \ "ConnectorF.h" \ @@ -9487,7 +9657,6 @@ WSTransceiver.obj: \ "$(includedir)\Ice\ACMF.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ObjectAdapterFactoryF.h" \ "EndpointFactoryManagerF.h" \ "RetryQueueF.h" \ @@ -9500,7 +9669,6 @@ WSTransceiver.obj: \ "$(includedir)\Ice\BatchRequestInterceptor.h" \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ @@ -9510,12 +9678,15 @@ WSTransceiver.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "HttpParser.h" \ "Transceiver.h" \ "TransceiverF.h" \ "Network.h" \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ @@ -9565,6 +9736,7 @@ DLLMain.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Service.h" \ "$(includedir)\Ice\Ice.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\DeprecatedStringConverter.h" \ "$(includedir)\Ice\CommunicatorF.h" \ "$(includedir)\IceUtil\StringConverter.h" \ @@ -9598,8 +9770,8 @@ DLLMain.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -9617,13 +9789,14 @@ DLLMain.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\Logger.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\RemoteLogger.h" \ - "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ @@ -9651,6 +9824,7 @@ DLLMain.obj: \ "$(includedir)\Ice\SliceChecksums.h" \ "$(includedir)\Ice\SliceChecksumDict.h" \ "$(includedir)\Ice\RegisterPlugins.h" \ + "$(includedir)\Ice\InterfaceByValue.h" \ BuiltinSequences.obj: \ BuiltinSequences.cpp \ @@ -9694,8 +9868,8 @@ BuiltinSequences.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -9760,13 +9934,15 @@ Communicator.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -9775,17 +9951,18 @@ Communicator.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\Ice\InstrumentationF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\PluginF.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\FacetMap.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -9878,15 +10055,16 @@ Connection.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "$(includedir)\Ice\Endpoint.h" \ + "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ "$(includedir)\IceUtil\Thread.h" \ @@ -9961,8 +10139,8 @@ Current.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10013,8 +10191,8 @@ Endpoint.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10119,8 +10297,8 @@ FacetMap.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10168,8 +10346,8 @@ Identity.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10220,8 +10398,8 @@ ImplicitContext.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10299,8 +10477,8 @@ Instrumentation.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10378,8 +10556,8 @@ LocalException.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10444,13 +10622,15 @@ Locator.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -10460,10 +10640,8 @@ Locator.obj: \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Process.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -10528,13 +10706,15 @@ LocatorF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ Logger.obj: \ Logger.cpp \ @@ -10650,13 +10830,15 @@ Metrics.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -10665,9 +10847,7 @@ Metrics.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -10732,18 +10912,19 @@ ObjectAdapter.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Endpoint.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ ObjectAdapterF.obj: \ ObjectAdapterF.cpp \ @@ -10815,7 +10996,8 @@ ObjectFactory.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10866,8 +11048,8 @@ Plugin.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -10960,13 +11142,15 @@ Process.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -10974,8 +11158,8 @@ Process.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ - "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11040,13 +11224,15 @@ ProcessF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ Properties.obj: \ Properties.cpp \ @@ -11106,13 +11292,15 @@ Properties.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -11121,9 +11309,9 @@ Properties.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11188,13 +11376,15 @@ PropertiesAdmin.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -11203,8 +11393,8 @@ PropertiesAdmin.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11269,13 +11459,15 @@ PropertiesF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ RemoteLogger.obj: \ RemoteLogger.cpp \ @@ -11335,13 +11527,15 @@ RemoteLogger.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -11350,9 +11544,7 @@ RemoteLogger.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ - "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11417,13 +11609,15 @@ Router.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ "$(includedir)\Ice\Value.h" \ @@ -11431,8 +11625,8 @@ Router.obj: \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\FactoryTableInit.h" \ + "$(includedir)\Ice\DefaultValueFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11497,13 +11691,15 @@ RouterF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ + "$(includedir)\Ice\LocalException.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ ServantLocator.obj: \ ServantLocator.cpp \ @@ -11547,8 +11743,8 @@ ServantLocator.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -11625,8 +11821,57 @@ SliceChecksumDict.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ + "$(includedir)\Ice\Buffer.h" \ + "$(includedir)\Ice\Protocol.h" \ + "$(includedir)\Ice\SlicedDataF.h" \ + "$(includedir)\Ice\UserExceptionFactory.h" \ + "$(includedir)\Ice\FactoryTable.h" \ + +ValueFactory.obj: \ + ValueFactory.cpp \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ProxyF.h" \ + "$(includedir)\IceUtil\Shared.h" \ + "$(includedir)\IceUtil\Config.h" \ + "$(includedir)\IceUtil\Atomic.h" \ + "$(includedir)\Ice\Config.h" \ + "$(includedir)\Ice\ProxyHandle.h" \ + "$(includedir)\IceUtil\Handle.h" \ + "$(includedir)\IceUtil\Exception.h" \ + "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\Handle.h" \ + "$(includedir)\Ice\ValueF.h" \ + "$(includedir)\Ice\Exception.h" \ + "$(includedir)\Ice\Format.h" \ + "$(includedir)\Ice\StreamF.h" \ + "$(includedir)\Ice\LocalObject.h" \ + "$(includedir)\Ice\LocalObjectF.h" \ + "$(includedir)\Ice\StreamHelpers.h" \ + "$(includedir)\IceUtil\ScopedArray.h" \ + "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ + "$(includedir)\IceUtil\Optional.h" \ + "$(includedir)\IceUtil\UndefSysMacros.h" \ + "$(includedir)\IceUtil\PopDisableWarnings.h" \ + "$(includedir)\Ice\BasicStream.h" \ + "$(includedir)\IceUtil\StringConverter.h" \ + "$(includedir)\Ice\InstanceF.h" \ + "$(includedir)\Ice\Object.h" \ + "$(includedir)\IceUtil\Mutex.h" \ + "$(includedir)\IceUtil\Lock.h" \ + "$(includedir)\IceUtil\ThreadException.h" \ + "$(includedir)\IceUtil\Time.h" \ + "$(includedir)\IceUtil\MutexProtocol.h" \ + "$(includedir)\Ice\IncomingAsyncF.h" \ + "$(includedir)\Ice\Current.h" \ + "$(includedir)\Ice\ObjectAdapterF.h" \ + "$(includedir)\Ice\ConnectionF.h" \ + "$(includedir)\Ice\Identity.h" \ + "$(includedir)\Ice\Version.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ @@ -11674,8 +11919,8 @@ Version.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ + "$(includedir)\Ice\ValueFactory.h" \ + "$(includedir)\Ice\ValueFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ diff --git a/cpp/src/Ice/.gitignore b/cpp/src/Ice/.gitignore index abeb5e2cf37..39ff616d0f3 100644 --- a/cpp/src/Ice/.gitignore +++ b/cpp/src/Ice/.gitignore @@ -39,6 +39,7 @@ Router.cpp ServantLocatorF.cpp ServantLocator.cpp SliceChecksumDict.cpp +ValueFactory.cpp Version.cpp BuiltinSequences.h CommunicatorF.h diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp index d60a31abc54..7dabb6cd7e4 100644 --- a/cpp/src/Ice/BasicStream.cpp +++ b/cpp/src/Ice/BasicStream.cpp @@ -14,8 +14,8 @@ #include <Ice/Object.h> #include <Ice/Proxy.h> #include <Ice/ProxyFactory.h> -#include <Ice/ObjectFactory.h> -#include <Ice/ObjectFactoryManager.h> +#include <Ice/ValueFactory.h> +#include <Ice/ValueFactoryManager.h> #include <Ice/UserExceptionFactory.h> #include <Ice/LocalException.h> #include <Ice/Protocol.h> @@ -1855,7 +1855,7 @@ IceInternal::BasicStream::initReadEncaps() if(!_currentReadEncaps->decoder) // Lazy initialization. { - ObjectFactoryManagerPtr factoryManager = _instance->servantFactoryManager(); + ValueFactoryManagerPtr factoryManager = _instance->servantFactoryManager(); if(_currentReadEncaps->encoding == Encoding_1_0) { _currentReadEncaps->decoder = new EncapsDecoder10(this, _currentReadEncaps, _sliceObjects, factoryManager); @@ -1931,7 +1931,7 @@ IceInternal::BasicStream::EncapsDecoder::newInstance(const string& typeId) v = userFactory(typeId); } #else - ObjectFactoryPtr userFactory = _servantFactoryManager->find(typeId); + ValueFactoryPtr userFactory = _servantFactoryManager->find(typeId); if(userFactory) { v = userFactory->create(typeId); @@ -1961,14 +1961,14 @@ IceInternal::BasicStream::EncapsDecoder::newInstance(const string& typeId) if(!v) { #ifdef ICE_CPP11_MAPPING - function<ValuePtr (const string&)> of = IceInternal::factoryTable->getObjectFactory(typeId); + function<ValuePtr (const string&)> of = IceInternal::factoryTable->getValueFactory(typeId); if(of) { v = of(typeId); assert(v); } #else - ObjectFactoryPtr of = IceInternal::factoryTable->getObjectFactory(typeId); + ValueFactoryPtr of = IceInternal::factoryTable->getValueFactory(typeId); if(of) { v = of->create(typeId); @@ -2382,7 +2382,7 @@ IceInternal::BasicStream::EncapsDecoder10::readInstance() // if(_typeId == Object::ice_staticId()) { - throw NoObjectFactoryException(__FILE__, __LINE__, "", mostDerivedId); + throw NoValueFactoryException(__FILE__, __LINE__, "", mostDerivedId); } v = newInstance(_typeId); @@ -2400,7 +2400,7 @@ IceInternal::BasicStream::EncapsDecoder10::readInstance() // if(!_sliceObjects) { - throw NoObjectFactoryException(__FILE__, __LINE__, "no object factory found and object slicing is disabled", + throw NoValueFactoryException(__FILE__, __LINE__, "no value factory found and object slicing is disabled", _typeId); } @@ -2700,8 +2700,8 @@ IceInternal::BasicStream::EncapsDecoder11::skipSlice() { if(_current->sliceType == ObjectSlice) { - throw NoObjectFactoryException(__FILE__, __LINE__, - "no object factory found and compact format prevents " + throw NoValueFactoryException(__FILE__, __LINE__, + "no value factory found and compact format prevents " "slicing (the sender should use the sliced format instead)", _current->typeId); } @@ -2867,7 +2867,7 @@ IceInternal::BasicStream::EncapsDecoder11::readInstance(Int index, PatchFunc pat // if(!_sliceObjects) { - throw NoObjectFactoryException(__FILE__, __LINE__, "no object factory found and object slicing is disabled", + throw NoValueFactoryException(__FILE__, __LINE__, "no value factory found and object slicing is disabled", _current->typeId); } diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp index 4fddd5e9e62..a4ef7486333 100644 --- a/cpp/src/Ice/CommunicatorI.cpp +++ b/cpp/src/Ice/CommunicatorI.cpp @@ -13,7 +13,7 @@ #include <Ice/ConnectionFactory.h> #include <Ice/ReferenceFactory.h> #include <Ice/ProxyFactory.h> -#include <Ice/ObjectFactoryManager.h> +#include <Ice/ValueFactoryManager.h> #include <Ice/ObjectAdapterFactory.h> #include <Ice/LoggerUtil.h> #include <Ice/LocalException.h> @@ -129,27 +129,39 @@ Ice::CommunicatorI::createObjectAdapterWithRouter(const string& name, const Rout return _instance->objectAdapterFactory()->createObjectAdapter(oaName, router); } +void +Ice::CommunicatorI::addObjectFactory(const ::Ice::ObjectFactoryPtr& factory, const string& id) +{ + _instance->servantFactoryManager()->add(factory, id); +} + +::Ice::ObjectFactoryPtr +Ice::CommunicatorI::findObjectFactory(const string& id) const +{ + return _instance->servantFactoryManager()->findObjectFactory(id); +} + #ifdef ICE_CPP11_MAPPING void -Ice::CommunicatorI::addObjectFactory(function<::Ice::ValuePtr (const string&)> factory, const string& id) +Ice::CommunicatorI::addValueFactory(function<::Ice::ValuePtr (const string&)> factory, const string& id) { _instance->servantFactoryManager()->add(move(factory), id); } function<::Ice::ValuePtr (const string&)> -Ice::CommunicatorI::findObjectFactory(const string& id) const +Ice::CommunicatorI::findValueFactory(const string& id) const { return _instance->servantFactoryManager()->find(id); } #else void -Ice::CommunicatorI::addObjectFactory(const ::Ice::ObjectFactoryPtr& factory, const string& id) +Ice::CommunicatorI::addValueFactory(const ::Ice::ValueFactoryPtr& factory, const string& id) { _instance->servantFactoryManager()->add(factory, id); } -::Ice::ObjectFactoryPtr -Ice::CommunicatorI::findObjectFactory(const string& id) const +::Ice::ValueFactoryPtr +Ice::CommunicatorI::findValueFactory(const string& id) const { return _instance->servantFactoryManager()->find(id); } @@ -243,16 +255,16 @@ Ice::CommunicatorI::flushBatchRequests_async( class FlushBatchRequestsCallback : public CallbackBase { public: - + FlushBatchRequestsCallback(function<void (exception_ptr)> exception, - function<void (bool)> sent, + function<void (bool)> sent, shared_ptr<Communicator> communicator) : _exception(move(exception)), _sent(move(sent)), _communicator(move(communicator)) { } - + virtual void sent(const AsyncResultPtr& result) const { try @@ -264,19 +276,19 @@ Ice::CommunicatorI::flushBatchRequests_async( { _exception(current_exception()); } - + if(_sent) { _sent(result->sentSynchronously()); } } - + virtual bool hasSentCallback() const { return true; } - + virtual void completed(const ::Ice::AsyncResultPtr& result) const { @@ -297,15 +309,15 @@ Ice::CommunicatorI::flushBatchRequests_async( function<void (bool)> _sent; shared_ptr<Communicator> _communicator; }; - + OutgoingConnectionFactoryPtr connectionFactory = _instance->outgoingConnectionFactory(); ObjectAdapterFactoryPtr adapterFactory = _instance->objectAdapterFactory(); - + auto self = dynamic_pointer_cast<CommunicatorI>(shared_from_this()); - + auto result = make_shared<CommunicatorFlushBatchAsync>(self, _instance, __flushBatchRequests_name, make_shared<FlushBatchRequestsCallback>(move(exception), move(sent), self)); - + connectionFactory->flushAsyncBatchRequests(result); adapterFactory->flushAsyncBatchRequests(result); diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h index d0ba4285695..277d573b04b 100644 --- a/cpp/src/Ice/CommunicatorI.h +++ b/cpp/src/Ice/CommunicatorI.h @@ -46,12 +46,15 @@ public: virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&); virtual ObjectAdapterPtr createObjectAdapterWithRouter(const std::string&, const RouterPrxPtr&); -#ifdef ICE_CPP11_MAPPING - virtual void addObjectFactory(std::function<std::shared_ptr<Ice::Value> (const std::string&)>, const std::string&); - virtual std::function<::std::shared_ptr<Ice::Value> (const std::string&)> findObjectFactory(const std::string&) const; -#else virtual void addObjectFactory(const ObjectFactoryPtr&, const std::string&); virtual ObjectFactoryPtr findObjectFactory(const std::string&) const; + +#ifdef ICE_CPP11_MAPPING + virtual void addValueFactory(std::function<std::shared_ptr<Ice::Value> (const std::string&)>, const std::string&); + virtual std::function<::std::shared_ptr<Ice::Value> (const std::string&)> findValueFactory(const std::string&) const; +#else + virtual void addValueFactory(const ValueFactoryPtr&, const std::string&); + virtual ValueFactoryPtr findValueFactory(const std::string&) const; #endif virtual ImplicitContextPtr getImplicitContext() const; diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp index d23255ef4ab..20203c94d52 100644 --- a/cpp/src/Ice/Exception.cpp +++ b/cpp/src/Ice/Exception.cpp @@ -70,13 +70,13 @@ throwUOE(const string& expectedType, const ValuePtr& v) { // // If the object is an unknown sliced object, we didn't find an - // object factory, in this case raise a NoObjectFactoryException + // value factory, in this case raise a NoValueFactoryException // instead. // UnknownSlicedObject* uso = dynamic_cast<UnknownSlicedObject*>(v.get()); if(uso) { - throw NoObjectFactoryException(__FILE__, __LINE__, "", uso->getUnknownTypeId()); + throw NoValueFactoryException(__FILE__, __LINE__, "", uso->getUnknownTypeId()); } string type = v->ice_id(); @@ -698,7 +698,7 @@ Ice::UnmarshalOutOfBoundsException::ice_print(ostream& out) const } void -Ice::NoObjectFactoryException::ice_print(ostream& out) const +Ice::NoValueFactoryException::ice_print(ostream& out) const { Exception::ice_print(out); out << ":\nprotocol error: no suitable object factory found for `" << type << "'"; diff --git a/cpp/src/Ice/FactoryTable.cpp b/cpp/src/Ice/FactoryTable.cpp index bc48ab8d6e9..680f19aa241 100644 --- a/cpp/src/Ice/FactoryTable.cpp +++ b/cpp/src/Ice/FactoryTable.cpp @@ -8,7 +8,7 @@ // ********************************************************************** #include <Ice/FactoryTable.h> -#include <Ice/ObjectFactory.h> +#include <Ice/ValueFactory.h> using namespace std; @@ -64,22 +64,22 @@ IceInternal::FactoryTable::removeExceptionFactory(const string& t) } // -// Add a factory to the object factory table. +// Add a factory to the value factory table. // #ifdef ICE_CPP11_MAPPING void -IceInternal::FactoryTable::addObjectFactory(const string& t, function<::Ice::ValuePtr (const string&)> f) +IceInternal::FactoryTable::addValueFactory(const string& t, function<::Ice::ValuePtr (const string&)> f) #else void -IceInternal::FactoryTable::addObjectFactory(const string& t, const ::Ice::ObjectFactoryPtr& f) +IceInternal::FactoryTable::addValueFactory(const string& t, const ::Ice::ValueFactoryPtr& f) #endif { IceUtil::Mutex::Lock lock(_m); assert(f); - OFTable::iterator i = _oft.find(t); - if(i == _oft.end()) + VFTable::iterator i = _vft.find(t); + if(i == _vft.end()) { - _oft[t] = OFPair(f, 1); + _vft[t] = VFPair(f, 1); } else { @@ -88,48 +88,48 @@ IceInternal::FactoryTable::addObjectFactory(const string& t, const ::Ice::Object } // -// Return the object factory for a given type ID +// Return the value factory for a given type ID // #ifdef ICE_CPP11_MAPPING function<Ice::ValuePtr(const string&)> -IceInternal::FactoryTable::getObjectFactory(const string& t) const +IceInternal::FactoryTable::getValueFactory(const string& t) const { IceUtil::Mutex::Lock lock(_m); - OFTable::const_iterator i = _oft.find(t); - return i != _oft.end() ? i->second.first : nullptr; + VFTable::const_iterator i = _vft.find(t); + return i != _vft.end() ? i->second.first : nullptr; } #else -Ice::ObjectFactoryPtr -IceInternal::FactoryTable::getObjectFactory(const string& t) const +Ice::ValueFactoryPtr +IceInternal::FactoryTable::getValueFactory(const string& t) const { IceUtil::Mutex::Lock lock(_m); - OFTable::const_iterator i = _oft.find(t); - return i != _oft.end() ? i->second.first : Ice::ObjectFactoryPtr(); + VFTable::const_iterator i = _vft.find(t); + return i != _vft.end() ? i->second.first : Ice::ValueFactoryPtr(); } #endif // -// Remove a factory from the object factory table. If the factory +// Remove a factory from the value factory table. If the factory // is not present, do nothing; otherwise, decrement the factory's // reference count if the count drops to zero, remove the factory's // entry from the table. // void -IceInternal::FactoryTable::removeObjectFactory(const string& t) +IceInternal::FactoryTable::removeValueFactory(const string& t) { IceUtil::Mutex::Lock lock(_m); - OFTable::iterator i = _oft.find(t); - if(i != _oft.end()) + VFTable::iterator i = _vft.find(t); + if(i != _vft.end()) { if(--i->second.second == 0) { - _oft.erase(i); + _vft.erase(i); } } } // -// Add a factory to the object factory table. +// Add a factory to the value factory table. // void IceInternal::FactoryTable::addTypeId(int compactId, const string& typeId) diff --git a/cpp/src/Ice/FactoryTableInit.cpp b/cpp/src/Ice/FactoryTableInit.cpp index 9b1675e17c4..c440e35134d 100644 --- a/cpp/src/Ice/FactoryTableInit.cpp +++ b/cpp/src/Ice/FactoryTableInit.cpp @@ -90,6 +90,6 @@ IceInternal::CompactIdInit::CompactIdInit(const char* typeId, int compactId) : IceInternal::CompactIdInit::~CompactIdInit() { - factoryTable->removeTypeId(_compactId); + factoryTable->removeTypeId(_compactId); } diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index f3f8e2d768d..4952c61d152 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -18,7 +18,7 @@ #include <Ice/ProxyFactory.h> #include <Ice/ThreadPool.h> #include <Ice/ConnectionFactory.h> -#include <Ice/ObjectFactoryManager.h> +#include <Ice/ValueFactoryManager.h> #include <Ice/LocalException.h> #include <Ice/ObjectAdapterFactory.h> #include <Ice/Exception.h> @@ -396,7 +396,7 @@ IceInternal::Instance::outgoingConnectionFactory() const return _outgoingConnectionFactory; } -ObjectFactoryManagerPtr +ValueFactoryManagerPtr IceInternal::Instance::servantFactoryManager() const { Lock sync(*this); @@ -1351,7 +1351,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi _outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this); - _servantFactoryManager = new ObjectFactoryManager(); + _servantFactoryManager = new ValueFactoryManager(); _objectAdapterFactory = ICE_MAKE_SHARED(ObjectAdapterFactory, this, communicator); diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h index 32685e2e9b5..2f352cc61dd 100644 --- a/cpp/src/Ice/Instance.h +++ b/cpp/src/Ice/Instance.h @@ -28,7 +28,7 @@ #include <Ice/ThreadPoolF.h> #include <Ice/ConnectionFactoryF.h> #include <Ice/ACM.h> -#include <Ice/ObjectFactoryManagerF.h> +#include <Ice/ValueFactoryManagerF.h> #include <Ice/ObjectAdapterFactoryF.h> #include <Ice/EndpointFactoryManagerF.h> #include <Ice/IPEndpointIF.h> @@ -95,7 +95,7 @@ public: RequestHandlerFactoryPtr requestHandlerFactory() const; ProxyFactoryPtr proxyFactory() const; OutgoingConnectionFactoryPtr outgoingConnectionFactory() const; - ObjectFactoryManagerPtr servantFactoryManager() const; + ValueFactoryManagerPtr servantFactoryManager() const; ObjectAdapterFactoryPtr objectAdapterFactory() const; ProtocolSupport protocolSupport() const; bool preferIPv6() const; @@ -179,7 +179,7 @@ private: RequestHandlerFactoryPtr _requestHandlerFactory; ProxyFactoryPtr _proxyFactory; OutgoingConnectionFactoryPtr _outgoingConnectionFactory; - ObjectFactoryManagerPtr _servantFactoryManager; + ValueFactoryManagerPtr _servantFactoryManager; ObjectAdapterFactoryPtr _objectAdapterFactory; ProtocolSupport _protocolSupport; bool _preferIPv6; diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile index 6260ba1a674..1312c5d4234 100644 --- a/cpp/src/Ice/Makefile +++ b/cpp/src/Ice/Makefile @@ -51,6 +51,7 @@ SLICE_OBJS = BuiltinSequences.o \ ServantLocator.o \ ServantLocatorF.o \ SliceChecksumDict.o \ + ValueFactory.o \ Version.o OBJS = Acceptor.o \ @@ -100,7 +101,6 @@ OBJS = Acceptor.o \ Object.o \ ObjectAdapterFactory.o \ ObjectAdapterI.o \ - ObjectFactoryManager.o \ ObserverHelper.o \ OpaqueEndpointI.o \ Outgoing.o \ @@ -142,6 +142,7 @@ OBJS = Acceptor.o \ UdpEndpointI.o \ UdpTransceiver.o \ Value.o \ + ValueFactoryManager.o \ WSAcceptor.o \ WSConnector.o \ WSEndpoint.o \ @@ -196,4 +197,4 @@ install:: all $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME)) ifeq ($(UNAME),MINGW) $(call installlib,$(DESTDIR)$(install_libdir),$(BZIP2_HOME)/build/native/bin/$(PLATFORM),bzip2_mingw.dll,,) -endif
\ No newline at end of file +endif diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak index db8cddc15ff..f291fa2674a 100644 --- a/cpp/src/Ice/Makefile.mak +++ b/cpp/src/Ice/Makefile.mak @@ -51,7 +51,7 @@ SLICE_OBJS = .\BuiltinSequences.obj \ .\ServantLocator.obj \ .\ServantLocatorF.obj \ .\SliceChecksumDict.obj \ - .\Value.obj \ + .\ValueFactory.obj \ .\Version.obj WINDOWS_OBJS = .\DLLMain.obj @@ -103,7 +103,6 @@ OBJS = .\Acceptor.obj \ .\Object.obj \ .\ObjectAdapterFactory.obj \ .\ObjectAdapterI.obj \ - .\ObjectFactoryManager.obj \ .\ObserverHelper.obj \ .\OpaqueEndpointI.obj \ .\Outgoing.obj \ @@ -145,6 +144,7 @@ OBJS = .\Acceptor.obj \ .\UdpConnector.obj \ .\UdpEndpointI.obj \ .\UdpTransceiver.obj \ + .\ValueFactoryManager.obj \ .\WSAcceptor.obj \ .\WSConnector.obj \ .\WSEndpoint.obj \ diff --git a/cpp/src/Ice/ObjectFactoryManager.cpp b/cpp/src/Ice/ObjectFactoryManager.cpp deleted file mode 100644 index d09ad32afe1..00000000000 --- a/cpp/src/Ice/ObjectFactoryManager.cpp +++ /dev/null @@ -1,147 +0,0 @@ - -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#include <Ice/ObjectFactoryManager.h> -#include <Ice/ObjectFactory.h> -#include <Ice/Functional.h> -#include <Ice/LocalException.h> -using namespace std; -using namespace Ice; -using namespace IceInternal; - -IceUtil::Shared* IceInternal::upCast(ObjectFactoryManager* p) { return p; } - -void -IceInternal::ObjectFactoryManager::add(const ICE_OBJECT_FACTORY& factory, const string& id) -{ - IceUtil::Mutex::Lock sync(*this); - - if((_factoryMapHint != _factoryMap.end() && _factoryMapHint->first == id) - || _factoryMap.find(id) != _factoryMap.end()) - { - AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; - ex.id = id; - throw ex; - } - - _factoryMapHint = _factoryMap.insert(_factoryMapHint, pair<const string, ICE_OBJECT_FACTORY>(id, factory)); -} - -void -IceInternal::ObjectFactoryManager::remove(const string& id) -{ - ICE_OBJECT_FACTORY factory = ICE_NULLPTR; - { - IceUtil::Mutex::Lock sync(*this); - - FactoryMap::iterator p = _factoryMap.end(); - if(_factoryMapHint != _factoryMap.end()) - { - if(_factoryMapHint->first == id) - { - p = _factoryMapHint; - } - } - - if(p == _factoryMap.end()) - { - p = _factoryMap.find(id); - if(p == _factoryMap.end()) - { - NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; - ex.id = id; - throw ex; - } - } - assert(p != _factoryMap.end()); - - factory = p->second; - - if(p == _factoryMapHint) - { - _factoryMap.erase(p++); - _factoryMapHint = p; - } - else - { - _factoryMap.erase(p); - } - } - - // - // Destroy outside the lock - // - assert(factory != 0); -#ifndef ICE_CPP11_MAPPING - factory->destroy(); -#endif -} - -ICE_OBJECT_FACTORY -IceInternal::ObjectFactoryManager::find(const string& id) const -{ - IceUtil::Mutex::Lock sync(*this); - - FactoryMap& factoryMap = const_cast<FactoryMap&>(_factoryMap); - - FactoryMap::iterator p = factoryMap.end(); - if(_factoryMapHint != factoryMap.end()) - { - if(_factoryMapHint->first == id) - { - p = _factoryMapHint; - } - } - - if(p == factoryMap.end()) - { - p = factoryMap.find(id); - } - - if(p != factoryMap.end()) - { - _factoryMapHint = p; - return p->second; - } - else - { - return ICE_NULLPTR; - } -} - -IceInternal::ObjectFactoryManager::ObjectFactoryManager() : - _factoryMapHint(_factoryMap.end()) -{ -} - -void -IceInternal::ObjectFactoryManager::destroy() -{ -#ifdef ICE_CPP11_MAPPING - IceUtil::Mutex::Lock sync(*this); - _factoryMap.clear(); - _factoryMapHint = _factoryMap.end(); -#else - FactoryMap oldMap; - { - IceUtil::Mutex::Lock sync(*this); - oldMap.swap(_factoryMap); - _factoryMapHint = _factoryMap.end(); - } - - // - // Destroy all outside lock - // - for_each(oldMap.begin(), oldMap.end(), - Ice::secondVoidMemFun<const string, ObjectFactory>(&ObjectFactory::destroy)); -#endif -} diff --git a/cpp/src/Ice/ObjectFactoryManager.h b/cpp/src/Ice/ObjectFactoryManager.h deleted file mode 100644 index c102d276c2c..00000000000 --- a/cpp/src/Ice/ObjectFactoryManager.h +++ /dev/null @@ -1,43 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#ifndef ICE_OBJECT_FACTORY_MANAGER_H -#define ICE_OBJECT_FACTORY_MANAGER_H - -#include <IceUtil/Shared.h> -#include <IceUtil/Mutex.h> -#include <Ice/ObjectFactoryManagerF.h> -#include <Ice/ObjectFactory.h> - -namespace IceInternal -{ - -class ObjectFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex -{ -public: - - void add(const ICE_OBJECT_FACTORY&, const std::string&); - ICE_OBJECT_FACTORY find(const std::string&) const; - typedef std::map<std::string, ICE_OBJECT_FACTORY> FactoryMap; - - void remove(const std::string&); - -private: - - ObjectFactoryManager(); - void destroy(); - friend class Instance; - - FactoryMap _factoryMap; - mutable FactoryMap::iterator _factoryMapHint; -}; - -} - -#endif diff --git a/cpp/src/Ice/ValueFactoryManager.cpp b/cpp/src/Ice/ValueFactoryManager.cpp new file mode 100644 index 00000000000..6a5b534e14c --- /dev/null +++ b/cpp/src/Ice/ValueFactoryManager.cpp @@ -0,0 +1,175 @@ + +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <Ice/ValueFactoryManager.h> +#include <Ice/ValueFactory.h> +#include <Ice/ObjectFactory.h> +#include <Ice/Object.h> +#include <Ice/Functional.h> +#include <Ice/LocalException.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +IceUtil::Shared* IceInternal::upCast(ValueFactoryManager* p) { return p; } + +#ifndef ICE_CPP11_MAPPING +IceUtil::Shared* IceInternal::upCast(ValueFactoryWrapper* p) { return p; } + +ValueFactoryWrapper::ValueFactoryWrapper(const Ice::ObjectFactoryPtr& factory) : _objectFactory(factory) +{ +} + +Ice::ValuePtr +ValueFactoryWrapper::create(const string& id) +{ + return _objectFactory->create(id); +} +#endif + +void +IceInternal::ValueFactoryManager::add(const ICE_VALUE_FACTORY& factory, const string& id) +{ + IceUtil::Mutex::Lock sync(*this); + + if((_factoryMapHint != _factoryMap.end() && _factoryMapHint->first == id) + || _factoryMap.find(id) != _factoryMap.end()) + { + AlreadyRegisteredException ex(__FILE__, __LINE__); + ex.kindOfObject = "value factory"; + ex.id = id; + throw ex; + } + + _factoryMapHint = _factoryMap.insert(_factoryMapHint, pair<const string, ICE_VALUE_FACTORY>(id, factory)); +} + +void +IceInternal::ValueFactoryManager::add(const Ice::ObjectFactoryPtr& factory, const string& id) +{ + IceUtil::Mutex::Lock sync(*this); + + // Check value factory map since an object factory is added to both object + // and value factory maps, but not vise versa + if((_factoryMapHint != _factoryMap.end() && _factoryMapHint->first == id) + || _factoryMap.find(id) != _factoryMap.end()) + { + AlreadyRegisteredException ex(__FILE__, __LINE__); + ex.kindOfObject = "value factory"; + ex.id = id; + throw ex; + } + +#ifdef ICE_CPP11_MAPPING + _factoryMapHint = _factoryMap.insert(_factoryMapHint, + pair<const string, ICE_VALUE_FACTORY>(id, + [factory](const string& id) + { + return factory->create(id); + } + )); +#else + _factoryMapHint = _factoryMap.insert(_factoryMapHint, + pair<const string, ICE_VALUE_FACTORY>(id, new ValueFactoryWrapper(factory))); +#endif + + _objectFactoryMapHint = _objectFactoryMap.insert(_objectFactoryMapHint, + pair<const string, Ice::ObjectFactoryPtr>(id, factory)); +} + +ICE_VALUE_FACTORY +IceInternal::ValueFactoryManager::find(const string& id) const +{ + IceUtil::Mutex::Lock sync(*this); + + FactoryMap& factoryMap = const_cast<FactoryMap&>(_factoryMap); + + FactoryMap::iterator p = factoryMap.end(); + if(_factoryMapHint != factoryMap.end()) + { + if(_factoryMapHint->first == id) + { + p = _factoryMapHint; + } + } + + if(p == factoryMap.end()) + { + p = factoryMap.find(id); + } + + if(p != factoryMap.end()) + { + _factoryMapHint = p; + return p->second; + } + else + { + return ICE_NULLPTR; + } +} + +Ice::ObjectFactoryPtr +IceInternal::ValueFactoryManager::findObjectFactory(const string& id) const +{ + IceUtil::Mutex::Lock sync(*this); + + ObjectFactoryMap& objectfactoryMap = const_cast<ObjectFactoryMap&>(_objectFactoryMap); + + ObjectFactoryMap::iterator p = objectfactoryMap.end(); + if(_objectFactoryMapHint != objectfactoryMap.end()) + { + if(_objectFactoryMapHint->first == id) + { + p = _objectFactoryMapHint; + } + } + + if(p == objectfactoryMap.end()) + { + p = objectfactoryMap.find(id); + } + + if(p != objectfactoryMap.end()) + { + _objectFactoryMapHint = p; + return p->second; + } + else + { + return ICE_NULLPTR; + } +} + +IceInternal::ValueFactoryManager::ValueFactoryManager() : + _factoryMapHint(_factoryMap.end()), + _objectFactoryMapHint(_objectFactoryMap.end()) +{ +} + +void +IceInternal::ValueFactoryManager::destroy() +{ + ObjectFactoryMap oldMap; + { + IceUtil::Mutex::Lock sync(*this); + _factoryMap.clear(); + _factoryMapHint = _factoryMap.end(); + oldMap.swap(_objectFactoryMap); + _objectFactoryMapHint = _objectFactoryMap.end(); + } + + // + // Destroy all outside lock + // + for_each(oldMap.begin(), oldMap.end(), + Ice::secondVoidMemFun<const string, Ice::ObjectFactory>(&Ice::ObjectFactory::destroy)); +} diff --git a/cpp/src/Ice/ValueFactoryManager.h b/cpp/src/Ice/ValueFactoryManager.h new file mode 100644 index 00000000000..31b37c9014e --- /dev/null +++ b/cpp/src/Ice/ValueFactoryManager.h @@ -0,0 +1,61 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_VALUE_FACTORY_MANAGER_H +#define ICE_VALUE_FACTORY_MANAGER_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/ValueFactoryManagerF.h> +#include <Ice/ValueFactory.h> +#include <Ice/ObjectFactory.h> + +namespace IceInternal +{ + +#ifndef ICE_CPP11_MAPPING +class ValueFactoryWrapper: public Ice::ValueFactory +{ +public: + ValueFactoryWrapper(const Ice::ObjectFactoryPtr& factory); + + Ice::ValuePtr create(const std::string& id); + +private: + Ice::ObjectFactoryPtr _objectFactory; +}; +#endif + +class ValueFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + void add(const ICE_VALUE_FACTORY&, const std::string&); + void add(const Ice::ObjectFactoryPtr&, const std::string&); + ICE_VALUE_FACTORY find(const std::string&) const; + Ice::ObjectFactoryPtr findObjectFactory(const std::string&) const; + typedef std::map<std::string, ICE_VALUE_FACTORY> FactoryMap; + typedef std::map<std::string, Ice::ObjectFactoryPtr> ObjectFactoryMap; + +private: + + ValueFactoryManager(); + void destroy(); + friend class Instance; + + FactoryMap _factoryMap; + mutable FactoryMap::iterator _factoryMapHint; + + ObjectFactoryMap _objectFactoryMap; + mutable ObjectFactoryMap::iterator _objectFactoryMapHint; +}; + +} + +#endif diff --git a/cpp/src/IceGrid/IceGridDB.cpp b/cpp/src/IceGrid/IceGridDB.cpp index 92c95a803b1..2c810287d3f 100644 --- a/cpp/src/IceGrid/IceGridDB.cpp +++ b/cpp/src/IceGrid/IceGridDB.cpp @@ -66,11 +66,11 @@ private: string _serverVersion; }; -class ObjectFactoryI : public Ice::ObjectFactory +class ValueFactoryI : public Ice::ValueFactory { public: - ObjectFactoryI(const string& serverVersion) : + ValueFactoryI(const string& serverVersion) : _serverVersion(serverVersion) { } @@ -88,10 +88,6 @@ public: return 0; } - virtual void destroy() - { - } - private: string _serverVersion; @@ -282,9 +278,9 @@ Client::run(int argc, char* argv[]) if(!serverVersion.empty()) { - ObjectFactoryPtr factory = new ObjectFactoryI(serverVersion); - communicator()->addObjectFactory(factory, "::IceGrid::ServerDescriptor"); - communicator()->addObjectFactory(factory, "::IceGrid::IceBoxDescriptor"); + ValueFactoryPtr factory = new ValueFactoryI(serverVersion); + communicator()->addValueFactory(factory, "::IceGrid::ServerDescriptor"); + communicator()->addValueFactory(factory, "::IceGrid::IceBoxDescriptor"); } Ice::InputStreamPtr stream = Ice::wrapInputStream(communicator(), buf, dbContext.encoding); diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 61da931b521..c3d994ff1f5 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -459,7 +459,7 @@ Slice::Gen::generate(const UnitPtr& p) H << "\n#include <Ice/IncomingAsync.h>"; } C << "\n#include <Ice/LocalException.h>"; - C << "\n#include <Ice/ObjectFactory.h>"; + C << "\n#include <Ice/ValueFactory.h>"; C << "\n#include <Ice/Outgoing.h>"; C << "\n#include <Ice/OutgoingAsync.h>"; } @@ -3275,7 +3275,7 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p) if(!p->isAbstract()) { - H << sp << nl << "static ::Ice::ObjectFactoryPtr ice_factory();"; + H << sp << nl << "static ::Ice::ValueFactoryPtr ice_factory();"; } if(preserved && !basePreserved) @@ -3412,7 +3412,7 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p) if(!p->isAbstract()) { string initName = p->flattenedScope() + p->name() + "_init"; - C << sp << nl << "const ::IceInternal::DefaultObjectFactoryInit< " << scoped << "> " + C << sp << nl << "const ::IceInternal::DefaultValueFactoryInit< " << scoped << "> " << initName << "(\"" << p->scoped() << "\");"; } if(p->compactId() >= 0) @@ -3425,9 +3425,9 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p) if(!p->isAbstract()) { - C << sp << nl << "::Ice::ObjectFactoryPtr" << nl << scoped.substr(2) << "::ice_factory()"; + C << sp << nl << "::Ice::ValueFactoryPtr" << nl << scoped.substr(2) << "::ice_factory()"; C << sb; - C << nl << "return ::IceInternal::factoryTable->getObjectFactory(" << scoped << "::ice_staticId());"; + C << nl << "return ::IceInternal::factoryTable->getValueFactory(" << scoped << "::ice_staticId());"; C << eb; } } @@ -8557,7 +8557,7 @@ Slice::Gen::Cpp11ValueVisitor::visitClassDefEnd(const ClassDefPtr& p) C << nl << "{"; string initName = p->flattenedScope() + p->name() + "_init"; - C << sp << nl << "const ::IceInternal::DefaultObjectFactoryInit< " << scoped << "> " + C << sp << nl << "const ::IceInternal::DefaultValueFactoryInit< " << scoped << "> " << initName << "(\"" << p->scoped() << "\");"; if(p->compactId() >= 0) diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index e5876b07211..d0397e9cb41 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -3277,20 +3277,17 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p) if(!p->isInterface() && p->allOperations().size() == 0 && !p->isLocal()) { out << sp; - out << nl << "private static class __F implements Ice.ObjectFactory"; + out << nl << "private static class __F implements Ice.ValueFactory"; out << sb; out << nl << "public Ice.Object create(String type)"; out << sb; out << nl << "assert(type.equals(ice_staticId()));"; out << nl << "return new " << fixKwd(name) << "();"; out << eb; - out << sp << nl << "public void destroy()"; - out << sb; - out << eb; out << eb; - out << nl << "private static Ice.ObjectFactory _factory = new __F();"; + out << nl << "private static Ice.ValueFactory _factory = new __F();"; out << sp; - out << nl << "public static Ice.ObjectFactory" << nl << "ice_factory()"; + out << nl << "public static Ice.ValueFactory" << nl << "ice_factory()"; out << sb; out << nl << "return _factory;"; out << eb; diff --git a/cpp/test/Ice/exceptions/AllTests.cpp b/cpp/test/Ice/exceptions/AllTests.cpp index 562fb63a935..55eaa81147e 100644 --- a/cpp/test/Ice/exceptions/AllTests.cpp +++ b/cpp/test/Ice/exceptions/AllTests.cpp @@ -39,12 +39,13 @@ public: #endif }; -class ObjectFactoryI : virtual public Ice::ObjectFactory +#ifndef ICE_CPP11_MAPPING // C++98 +class ValueFactoryI : virtual public Ice::ValueFactory { public: virtual Ice::ObjectPtr create(const string&) { return 0; } - virtual void destroy() {} }; +#endif class CallbackBase : public IceUtil::Monitor<IceUtil::Mutex> { @@ -634,10 +635,10 @@ allTests(const Ice::CommunicatorPtr& communicator) } cout << "ok" << endl; - cout << "testing object factory registration exception... " << flush; + cout << "testing value factory registration exception... " << flush; { #ifdef ICE_CPP11_MAPPING - communicator->addObjectFactory( + communicator->addValueFactory( [](const std::string&) { return nullptr; @@ -645,7 +646,7 @@ allTests(const Ice::CommunicatorPtr& communicator) "x"); try { - communicator->addObjectFactory( + communicator->addValueFactory( [](const std::string&) { return nullptr; @@ -657,11 +658,11 @@ allTests(const Ice::CommunicatorPtr& communicator) { } #else - Ice::ObjectFactoryPtr of = new ObjectFactoryI; - communicator->addObjectFactory(of, "x"); + Ice::ValueFactoryPtr vf = new ValueFactoryI; + communicator->addValueFactory(vf, "x"); try { - communicator->addObjectFactory(of, "x"); + communicator->addValueFactory(vf, "x"); test(false); } catch(const Ice::AlreadyRegisteredException&) diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp index c1115c698c2..6b7437f20c9 100644 --- a/cpp/test/Ice/objects/AllTests.cpp +++ b/cpp/test/Ice/objects/AllTests.cpp @@ -17,8 +17,8 @@ using namespace Test; class AbstractBaseI : public AbstractBase { public: - - virtual void op(const Ice::Current&) + + virtual void op(const Ice::Current&) {} }; @@ -98,7 +98,7 @@ allTests(const Ice::CommunicatorPtr& communicator) BasePtr bp2 = ICE_DYNAMIC_CAST(Base, bp1->ice_clone()); test(bp1->theS.str == bp2->theS.str); test(bp1->str == bp2->str); - + #ifndef ICE_CPP11_MAPPING // // With C++11 mapping value classes are never abstracts. @@ -119,22 +119,22 @@ allTests(const Ice::CommunicatorPtr& communicator) BPtr b1 = initial->getB1(); test(b1); cout << "ok" << endl; - + cout << "getting B2... " << flush; BPtr b2 = initial->getB2(); test(b2); cout << "ok" << endl; - + cout << "getting C... " << flush; CPtr c = initial->getC(); test(c); cout << "ok" << endl; - + cout << "getting D... " << flush; DPtr d = initial->getD(); test(d); cout << "ok" << endl; - + cout << "checking consistency... " << flush; test(b1 != b2); #ifdef ICE_CPP11_MAPPING @@ -182,7 +182,7 @@ allTests(const Ice::CommunicatorPtr& communicator) test(c); test(d); cout << "ok" << endl; - + cout << "checking consistency... " << flush; #ifdef ICE_CPP11_MAPPING test(b1 != b2); @@ -263,7 +263,7 @@ allTests(const Ice::CommunicatorPtr& communicator) test(h && HPtr::dynamicCast(h)); #endif cout << "ok" << endl; - + cout << "getting D1... " << flush; D1Ptr d1 = ICE_MAKE_SHARED(D1, ICE_MAKE_SHARED(A1, "a1"), @@ -276,7 +276,7 @@ allTests(const Ice::CommunicatorPtr& communicator) test(d1->a3->name == "a3"); test(d1->a4->name == "a4"); cout << "ok" << endl; - + cout << "throw EDerived... " << flush; try { @@ -325,5 +325,13 @@ allTests(const Ice::CommunicatorPtr& communicator) testUOE(communicator); cout << "ok" << endl; #endif + + cout << "testing getting ObjectFactory... " << flush; + test(communicator->findObjectFactory("TestOF")); + cout << "ok" << endl; + cout << "testing getting ObjectFactory as ValueFactory... " << flush; + test(communicator->findValueFactory("TestOF")); + cout << "ok" << endl; + return initial; } diff --git a/cpp/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp index 471f63de90e..cf1e60c1993 100644 --- a/cpp/test/Ice/objects/Client.cpp +++ b/cpp/test/Ice/objects/Client.cpp @@ -26,7 +26,7 @@ function<shared_ptr<T>(const string&)> makeFactory() }; } #else -class MyObjectFactory : public Ice::ObjectFactory +class MyValueFactory : public Ice::ValueFactory { public: @@ -69,35 +69,58 @@ public: return 0; } +}; +#endif +class MyObjectFactory : public Ice::ObjectFactory +{ +public: + MyObjectFactory() : _destroyed(false) + { + } + + ~MyObjectFactory() + { + assert(_destroyed); + } + + virtual Ice::ValuePtr create(const string& type) + { + return ICE_NULLPTR; + } + virtual void destroy() { - // Nothing to do + _destroyed = true; } + +private: + bool _destroyed; }; -#endif int run(int, char**, const Ice::CommunicatorPtr& communicator) { #ifdef ICE_CPP11_MAPPING - communicator->addObjectFactory(makeFactory<BI>(), "::Test::B"); - communicator->addObjectFactory(makeFactory<CI>(), "::Test::C"); - communicator->addObjectFactory(makeFactory<DI>(), "::Test::D"); - communicator->addObjectFactory(makeFactory<EI>(), "::Test::E"); - communicator->addObjectFactory(makeFactory<FI>(), "::Test::F"); - communicator->addObjectFactory(makeFactory<II>(), "::Test::I"); - communicator->addObjectFactory(makeFactory<JI>(), "::Test::J"); - communicator->addObjectFactory(makeFactory<HI>(), "::Test::H"); + communicator->addValueFactory(makeFactory<BI>(), "::Test::B"); + communicator->addValueFactory(makeFactory<CI>(), "::Test::C"); + communicator->addValueFactory(makeFactory<DI>(), "::Test::D"); + communicator->addValueFactory(makeFactory<EI>(), "::Test::E"); + communicator->addValueFactory(makeFactory<FI>(), "::Test::F"); + communicator->addValueFactory(makeFactory<II>(), "::Test::I"); + communicator->addValueFactory(makeFactory<JI>(), "::Test::J"); + communicator->addValueFactory(makeFactory<HI>(), "::Test::H"); + communicator->addObjectFactory(make_shared<MyObjectFactory>(), "TestOF"); #else - Ice::ObjectFactoryPtr factory = new MyObjectFactory; - communicator->addObjectFactory(factory, "::Test::B"); - communicator->addObjectFactory(factory, "::Test::C"); - communicator->addObjectFactory(factory, "::Test::D"); - communicator->addObjectFactory(factory, "::Test::E"); - communicator->addObjectFactory(factory, "::Test::F"); - communicator->addObjectFactory(factory, "::Test::I"); - communicator->addObjectFactory(factory, "::Test::J"); - communicator->addObjectFactory(factory, "::Test::H"); + Ice::ValueFactoryPtr factory = new MyValueFactory; + communicator->addValueFactory(factory, "::Test::B"); + communicator->addValueFactory(factory, "::Test::C"); + communicator->addValueFactory(factory, "::Test::D"); + communicator->addValueFactory(factory, "::Test::E"); + communicator->addValueFactory(factory, "::Test::F"); + communicator->addValueFactory(factory, "::Test::I"); + communicator->addValueFactory(factory, "::Test::J"); + communicator->addValueFactory(factory, "::Test::H"); + communicator->addObjectFactory(new MyObjectFactory(), "TestOF"); #endif InitialPrxPtr allTests(const Ice::CommunicatorPtr&); diff --git a/cpp/test/Ice/objects/Collocated.cpp b/cpp/test/Ice/objects/Collocated.cpp index 0d2f8562fa9..270d5b495ea 100644 --- a/cpp/test/Ice/objects/Collocated.cpp +++ b/cpp/test/Ice/objects/Collocated.cpp @@ -26,7 +26,7 @@ function<shared_ptr<T>(const string&)> makeFactory() }; } #else -class MyObjectFactory : public Ice::ObjectFactory +class MyValueFactory : public Ice::ValueFactory { public: @@ -69,35 +69,57 @@ public: return 0; } +}; +#endif +class MyObjectFactory : public Ice::ObjectFactory +{ +public: + MyObjectFactory() : _destroyed(false) + { + } + + ~MyObjectFactory() + { + assert(_destroyed); + } + + virtual Ice::ValuePtr create(const string& type) + { + return ICE_NULLPTR; + } + virtual void destroy() { - // Nothing to do + _destroyed = true; } +private: + bool _destroyed; }; -#endif int run(int, char**, const Ice::CommunicatorPtr& communicator) { #ifdef ICE_CPP11_MAPPING - communicator->addObjectFactory(makeFactory<BI>(), "::Test::B"); - communicator->addObjectFactory(makeFactory<CI>(), "::Test::C"); - communicator->addObjectFactory(makeFactory<DI>(), "::Test::D"); - communicator->addObjectFactory(makeFactory<EI>(), "::Test::E"); - communicator->addObjectFactory(makeFactory<FI>(), "::Test::F"); - communicator->addObjectFactory(makeFactory<II>(), "::Test::I"); - communicator->addObjectFactory(makeFactory<JI>(), "::Test::J"); - communicator->addObjectFactory(makeFactory<HI>(), "::Test::H"); + communicator->addValueFactory(makeFactory<BI>(), "::Test::B"); + communicator->addValueFactory(makeFactory<CI>(), "::Test::C"); + communicator->addValueFactory(makeFactory<DI>(), "::Test::D"); + communicator->addValueFactory(makeFactory<EI>(), "::Test::E"); + communicator->addValueFactory(makeFactory<FI>(), "::Test::F"); + communicator->addValueFactory(makeFactory<II>(), "::Test::I"); + communicator->addValueFactory(makeFactory<JI>(), "::Test::J"); + communicator->addValueFactory(makeFactory<HI>(), "::Test::H"); + communicator->addObjectFactory(make_shared<MyObjectFactory>(), "TestOF"); #else - Ice::ObjectFactoryPtr factory = new MyObjectFactory; - communicator->addObjectFactory(factory, "::Test::B"); - communicator->addObjectFactory(factory, "::Test::C"); - communicator->addObjectFactory(factory, "::Test::D"); - communicator->addObjectFactory(factory, "::Test::E"); - communicator->addObjectFactory(factory, "::Test::F"); - communicator->addObjectFactory(factory, "::Test::I"); - communicator->addObjectFactory(factory, "::Test::J"); - communicator->addObjectFactory(factory, "::Test::H"); + Ice::ValueFactoryPtr factory = new MyValueFactory; + communicator->addValueFactory(factory, "::Test::B"); + communicator->addValueFactory(factory, "::Test::C"); + communicator->addValueFactory(factory, "::Test::D"); + communicator->addValueFactory(factory, "::Test::E"); + communicator->addValueFactory(factory, "::Test::F"); + communicator->addValueFactory(factory, "::Test::I"); + communicator->addValueFactory(factory, "::Test::J"); + communicator->addValueFactory(factory, "::Test::H"); + communicator->addObjectFactory(new MyObjectFactory(), "TestOF"); #endif communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010"); diff --git a/cpp/test/Ice/objects/Server.cpp b/cpp/test/Ice/objects/Server.cpp index 0098cb34953..428cb735336 100644 --- a/cpp/test/Ice/objects/Server.cpp +++ b/cpp/test/Ice/objects/Server.cpp @@ -26,7 +26,7 @@ function<shared_ptr<T>(const string&)> makeFactory() }; } #else -class MyObjectFactory : public Ice::ObjectFactory +class MyValueFactory : public Ice::ValueFactory { public: @@ -49,10 +49,6 @@ public: return 0; } - virtual void destroy() - { - // Nothing to do - } }; #endif @@ -60,20 +56,20 @@ int run(int, char**, const Ice::CommunicatorPtr& communicator) { #ifdef ICE_CPP11_MAPPING - communicator->addObjectFactory(makeFactory<II>(), "::Test::I"); - communicator->addObjectFactory(makeFactory<JI>(), "::Test::J"); - communicator->addObjectFactory(makeFactory<HI>(), "::Test::H"); + communicator->addValueFactory(makeFactory<II>(), "::Test::I"); + communicator->addValueFactory(makeFactory<JI>(), "::Test::J"); + communicator->addValueFactory(makeFactory<HI>(), "::Test::H"); #else - Ice::ObjectFactoryPtr factory = new MyObjectFactory; - communicator->addObjectFactory(factory, "::Test::I"); - communicator->addObjectFactory(factory, "::Test::J"); - communicator->addObjectFactory(factory, "::Test::H"); + Ice::ValueFactoryPtr factory = new MyValueFactory; + communicator->addValueFactory(factory, "::Test::I"); + communicator->addValueFactory(factory, "::Test::J"); + communicator->addValueFactory(factory, "::Test::H"); #endif communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010"); Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); adapter->add(ICE_MAKE_SHARED(InitialI, adapter), communicator->stringToIdentity("initial")); - + #ifdef ICE_CPP11_MAPPING //TODO #else diff --git a/cpp/test/Ice/optional/AllTests.cpp b/cpp/test/Ice/optional/AllTests.cpp index 3e6a1560623..9a4b3bae2aa 100644 --- a/cpp/test/Ice/optional/AllTests.cpp +++ b/cpp/test/Ice/optional/AllTests.cpp @@ -177,7 +177,7 @@ private: FPtr _f; }; -class FactoryI : public Ice::ObjectFactory +class FactoryI : public Ice::ValueFactory { bool _enabled; @@ -223,10 +223,6 @@ public: return 0; } - void destroy() - { - } - void setEnabled(bool enabled) { @@ -239,7 +235,7 @@ InitialPrx allTests(const Ice::CommunicatorPtr& communicator, bool) { FactoryIPtr factory = new FactoryI(); - communicator->addObjectFactory(factory, ""); + communicator->addValueFactory(factory, ""); cout << "testing stringToProxy... " << flush; string ref = "initial:default -p 12010"; @@ -621,7 +617,7 @@ allTests(const Ice::CommunicatorPtr& communicator, bool) RecursivePtr outer = new Recursive(); outer->value = recursive1; initial->pingPong(outer); - + GPtr g = new G(); g->gg1Opt = new G1("gg1Opt"); g->gg2 = new G2(10); diff --git a/cpp/test/Ice/slicing/objects/AllTests.cpp b/cpp/test/Ice/slicing/objects/AllTests.cpp index e7b9c093d3a..44172e57669 100644 --- a/cpp/test/Ice/slicing/objects/AllTests.cpp +++ b/cpp/test/Ice/slicing/objects/AllTests.cpp @@ -82,7 +82,7 @@ public: test(sbskd->sbskd == "SBSKnownDerived.sbskd"); called(); } - + void response_SBSKnownDerivedAsSBSKnownDerived(const SBSKnownDerivedPtr& sbskd) { @@ -106,7 +106,7 @@ public: void exception_SBSUnknownDerivedAsSBaseCompact(const Ice::Exception& exc) { - test(exc.ice_name() == "Ice::NoObjectFactoryException"); + test(exc.ice_name() == "Ice::NoValueFactoryException"); called(); } @@ -119,7 +119,7 @@ public: void exception_SUnknownAsObject10(const Ice::Exception& exc) { - test(exc.ice_name() == "Ice::NoObjectFactoryException"); + test(exc.ice_name() == "Ice::NoValueFactoryException"); called(); } @@ -463,13 +463,13 @@ public: called(); } - void + void response() { test(false); } - void + void exception(const ::Ice::Exception& ex) { if(!dynamic_cast<const Ice::OperationNotExistException*>(&ex)) @@ -481,7 +481,7 @@ public: called(); } } - + BPtr rb; SS3 rss3; BDict rbdict; @@ -509,7 +509,7 @@ public: int PNodeI::counter = 0; #ifndef ICE_CPP11_MAPPING -class NodeFactoryI : public Ice::ObjectFactory +class NodeFactoryI : public Ice::ValueFactory { public: @@ -548,7 +548,7 @@ public: int PreservedI::counter = 0; #ifndef ICE_CPP11_MAPPING -class PreservedFactoryI : public Ice::ObjectFactory +class PreservedFactoryI : public Ice::ValueFactory { public: @@ -579,7 +579,7 @@ testUOO(const TestIntfPrxPtr& test) test(ICE_DYNAMIC_CAST(Ice::UnknownSlicedObject, o)->getUnknownTypeId() == "::Test::SUnknown"); test->checkSUnknown(o); } - catch(const Ice::NoObjectFactoryException&) + catch(const Ice::NoValueFactoryException&) { test(test->ice_getEncodingVersion() == Ice::Encoding_1_0); } @@ -814,7 +814,7 @@ allTests(const Ice::CommunicatorPtr& communicator) catch(const Ice::OperationNotExistException&) { } - catch(const Ice::NoObjectFactoryException&) + catch(const Ice::NoValueFactoryException&) { // Expected. } @@ -883,7 +883,7 @@ allTests(const Ice::CommunicatorPtr& communicator) f.get(); test(false); } - catch(const Ice::NoObjectFactoryException&) + catch(const Ice::NoValueFactoryException&) { } catch(...) @@ -920,7 +920,7 @@ allTests(const Ice::CommunicatorPtr& communicator) f.get(); test(false); } - catch(const Ice::NoObjectFactoryException&) + catch(const Ice::NoValueFactoryException&) { } catch(...) @@ -941,7 +941,7 @@ allTests(const Ice::CommunicatorPtr& communicator) { test(false); } - + } #else CallbackPtr cb = new Callback; @@ -1289,7 +1289,7 @@ allTests(const Ice::CommunicatorPtr& communicator) auto result = f.get(); auto b1 = move(result.p1); auto b2 = move(result.p2); - + test(b1); test(b1->ice_id() == "::Test::D1"); test(b1->sb == "D1.sb"); @@ -1599,7 +1599,7 @@ allTests(const Ice::CommunicatorPtr& communicator) auto b1 = f.get(); #else CallbackPtr cb = new Callback; - test->begin_returnTest3(d3, d1, + test->begin_returnTest3(d3, d1, newCallback_TestIntf_returnTest3(cb, &Callback::response_returnTest3, &Callback::exception)); cb->check(); BPtr b1 = cb->rb; @@ -2072,7 +2072,7 @@ allTests(const Ice::CommunicatorPtr& communicator) ss1->ice_collectable(true); ss2->ice_collectable(true); #endif - + #ifdef ICE_CPP11_MAPPING ss = test->sequenceTest_async(ss1, ss2).get(); #else @@ -2766,7 +2766,7 @@ allTests(const Ice::CommunicatorPtr& communicator) CompactPCDerivedPtr pcd = ICE_MAKE_SHARED(CompactPCDerived); pcd->pi = 3; pcd->pbs.push_back(pcd); - + #ifdef ICE_CPP11_MAPPING if(test->ice_getEncodingVersion() == Ice::Encoding_1_0) { @@ -2785,7 +2785,7 @@ allTests(const Ice::CommunicatorPtr& communicator) } #else pcd->ice_collectable(true); - + CallbackPtr cb = new Callback; if(test->ice_getEncodingVersion() == Ice::Encoding_1_0) { @@ -2796,7 +2796,7 @@ allTests(const Ice::CommunicatorPtr& communicator) else { test->begin_exchangePBase(pcd, newCallback_TestIntf_exchangePBase(cb, - &Callback::response_compactPreserved2, + &Callback::response_compactPreserved2, &Callback::exception)); } cb->check(); @@ -2875,7 +2875,7 @@ allTests(const Ice::CommunicatorPtr& communicator) // Register a factory in order to substitute our own subclass of PNode. This provides // an easy way to determine how many unmarshaled instances currently exist. // - communicator->addObjectFactory(new NodeFactoryI, PNode::ice_staticId()); + communicator->addValueFactory(new NodeFactoryI, PNode::ice_staticId()); // // Relay a graph through the server. This test uses a preserved class @@ -2921,7 +2921,7 @@ allTests(const Ice::CommunicatorPtr& communicator) // Register a factory in order to substitute our own subclass of Preserved. This provides // an easy way to determine how many unmarshaled instances currently exist. // - communicator->addObjectFactory(new PreservedFactoryI, Preserved::ice_staticId()); + communicator->addValueFactory(new PreservedFactoryI, Preserved::ice_staticId()); // // Obtain a preserved object from the server where the most-derived diff --git a/cpp/test/Ice/stream/Client.cpp b/cpp/test/Ice/stream/Client.cpp index 604ff0cb943..f09293e7092 100644 --- a/cpp/test/Ice/stream/Client.cpp +++ b/cpp/test/Ice/stream/Client.cpp @@ -59,7 +59,7 @@ public: }; typedef IceUtil::Handle<TestObjectReader> TestObjectReaderPtr; -class TestObjectFactory : public Ice::ObjectFactory +class TestValueFactory : public Ice::ValueFactory { public: @@ -94,7 +94,7 @@ public: }; typedef IceUtil::Handle<TestReadObjectCallback> TestReadObjectCallbackPtr; -class MyClassFactoryWrapper : public Ice::ObjectFactory +class MyClassFactoryWrapper : public Ice::ValueFactory { public: @@ -114,7 +114,7 @@ public: } void - setFactory(const Ice::ObjectFactoryPtr& factory) + setFactory(const Ice::ValueFactoryPtr& factory) { if(!factory) { @@ -128,11 +128,11 @@ public: private: - Ice::ObjectFactoryPtr _factory; + Ice::ValueFactoryPtr _factory; }; typedef IceUtil::Handle<MyClassFactoryWrapper> MyClassFactoryWrapperPtr; -class MyInterfaceFactory : public Ice::ObjectFactory +class MyInterfaceFactory : public Ice::ValueFactory { public: @@ -152,8 +152,8 @@ int run(int, char**, const Ice::CommunicatorPtr& communicator) { MyClassFactoryWrapperPtr factoryWrapper = new MyClassFactoryWrapper; - communicator->addObjectFactory(factoryWrapper, Test::MyClass::ice_staticId()); - communicator->addObjectFactory(new MyInterfaceFactory, Test::MyInterface::ice_staticId()); + communicator->addValueFactory(factoryWrapper, Test::MyClass::ice_staticId()); + communicator->addValueFactory(new MyInterfaceFactory, Test::MyInterface::ice_staticId()); Ice::InputStreamPtr in; Ice::OutputStreamPtr out; @@ -829,7 +829,7 @@ run(int, char**, const Ice::CommunicatorPtr& communicator) out->writePendingObjects(); out->finished(data); test(writer->called); - factoryWrapper->setFactory(new TestObjectFactory); + factoryWrapper->setFactory(new TestValueFactory); in = Ice::createInputStream(communicator, data); TestReadObjectCallbackPtr cb = new TestReadObjectCallback; in->readObject(cb); diff --git a/csharp/src/Ice/BasicStream.cs b/csharp/src/Ice/BasicStream.cs index 3160a355bab..b2ae159dc5f 100644 --- a/csharp/src/Ice/BasicStream.cs +++ b/csharp/src/Ice/BasicStream.cs @@ -3452,7 +3452,7 @@ namespace IceInternal } catch(Exception ex) { - Ice.NoObjectFactoryException e = new Ice.NoObjectFactoryException(ex); + Ice.NoValueFactoryException e = new Ice.NoValueFactoryException(ex); e.type = id; throw e; } @@ -3561,7 +3561,7 @@ namespace IceInternal abstract private class EncapsDecoder { - internal EncapsDecoder(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ObjectFactoryManager f) + internal EncapsDecoder(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ValueFactoryManager f) { _stream = stream; _encaps = encaps; @@ -3619,11 +3619,11 @@ namespace IceInternal // // Try to find a factory registered for the specific type. // - Ice.ObjectFactory userFactory = _servantFactoryManager.find(typeId); + Ice.ValueFactory userFactory = _servantFactoryManager.find(typeId); Ice.Object v = null; if(userFactory != null) { - v = userFactory.create(typeId); + v = userFactory(typeId); } // @@ -3635,7 +3635,7 @@ namespace IceInternal userFactory = _servantFactoryManager.find(""); if(userFactory != null) { - v = userFactory.create(typeId); + v = userFactory(typeId); } } @@ -3779,7 +3779,7 @@ namespace IceInternal protected readonly BasicStream _stream; protected readonly ReadEncaps _encaps; protected readonly bool _sliceObjects; - protected ObjectFactoryManager _servantFactoryManager; + protected ValueFactoryManager _servantFactoryManager; // Encapsulation attributes for object un-marshalling protected Dictionary<int, LinkedList<IPatcher> > _patchMap; @@ -3793,7 +3793,7 @@ namespace IceInternal private sealed class EncapsDecoder10 : EncapsDecoder { - internal EncapsDecoder10(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ObjectFactoryManager f) + internal EncapsDecoder10(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ValueFactoryManager f) : base(stream, encaps, sliceObjects, f) { _sliceType = SliceType.NoSlice; @@ -4043,7 +4043,7 @@ namespace IceInternal // if(_typeId.Equals(Ice.ObjectImpl.ice_staticId())) { - throw new Ice.NoObjectFactoryException("", mostDerivedId); + throw new Ice.NoValueFactoryException("", mostDerivedId); } v = newInstance(_typeId); @@ -4061,7 +4061,7 @@ namespace IceInternal // if(!_sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", _typeId); } @@ -4089,7 +4089,7 @@ namespace IceInternal private sealed class EncapsDecoder11 : EncapsDecoder { - internal EncapsDecoder11(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ObjectFactoryManager f) + internal EncapsDecoder11(BasicStream stream, ReadEncaps encaps, bool sliceObjects, ValueFactoryManager f) : base(stream, encaps, sliceObjects, f) { _objectIdIndex = 1; @@ -4379,8 +4379,8 @@ namespace IceInternal { if(_current.sliceType == SliceType.ObjectSlice) { - throw new Ice.NoObjectFactoryException("no object factory found and compact format prevents " + - "slicing (the sender should use the sliced format " + + throw new Ice.NoValueFactoryException("no value factory found and compact format prevents " + + "slicing (the sender should use the sliced format " + "instead)", _current.typeId); } else @@ -4541,7 +4541,7 @@ namespace IceInternal // if(!_sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", _current.typeId); } @@ -5332,7 +5332,7 @@ namespace IceInternal if(_readEncapsStack.decoder == null) // Lazy initialization. { - ObjectFactoryManager factoryMgr = instance_.servantFactoryManager(); + ValueFactoryManager factoryMgr = instance_.servantFactoryManager(); if(_readEncapsStack.encoding_1_0) { _readEncapsStack.decoder = new EncapsDecoder10(this, _readEncapsStack, _sliceObjects, factoryMgr); diff --git a/csharp/src/Ice/CommunicatorI.cs b/csharp/src/Ice/CommunicatorI.cs index 915709fb641..7aa528b907d 100644 --- a/csharp/src/Ice/CommunicatorI.cs +++ b/csharp/src/Ice/CommunicatorI.cs @@ -107,6 +107,16 @@ namespace Ice public ObjectFactory findObjectFactory(string id) { + return instance_.servantFactoryManager().findObjectFactory(id); + } + + public void addValueFactory(ValueFactory factory, string id) + { + instance_.servantFactoryManager().add(factory, id); + } + + public ValueFactory findValueFactory(string id) + { return instance_.servantFactoryManager().find(id); } @@ -177,7 +187,7 @@ namespace Ice // This callback object receives the results of all invocations // of Connection.begin_flushBatchRequests. // - IceInternal.CommunicatorFlushBatch result = + IceInternal.CommunicatorFlushBatch result = new IceInternal.CommunicatorFlushBatch(this, instance_, __flushBatchRequests_name, cookie); if(cb != null) @@ -200,7 +210,7 @@ namespace Ice public void end_flushBatchRequests(AsyncResult result) { - IceInternal.CommunicatorFlushBatch outAsync = + IceInternal.CommunicatorFlushBatch outAsync = IceInternal.CommunicatorFlushBatch.check(result, this, __flushBatchRequests_name); outAsync.wait(); } @@ -209,7 +219,7 @@ namespace Ice { return instance_.createAdmin(adminAdapter, adminIdentity); } - + public Ice.ObjectPrx getAdmin() { return instance_.getAdmin(); diff --git a/csharp/src/Ice/Instance.cs b/csharp/src/Ice/Instance.cs index 8dd99f3860f..c53f963b4e4 100644 --- a/csharp/src/Ice/Instance.cs +++ b/csharp/src/Ice/Instance.cs @@ -174,7 +174,7 @@ namespace IceInternal } } - public ObjectFactoryManager servantFactoryManager() + public ValueFactoryManager servantFactoryManager() { lock(this) { @@ -916,7 +916,7 @@ namespace IceInternal _outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this); - _servantFactoryManager = new ObjectFactoryManager(); + _servantFactoryManager = new ValueFactoryManager(); _objectAdapterFactory = new ObjectAdapterFactory(this, communicator); @@ -1546,7 +1546,7 @@ namespace IceInternal private RequestHandlerFactory _requestHandlerFactory; private ProxyFactory _proxyFactory; private OutgoingConnectionFactory _outgoingConnectionFactory; - private ObjectFactoryManager _servantFactoryManager; + private ValueFactoryManager _servantFactoryManager; private ObjectAdapterFactory _objectAdapterFactory; private int _protocolSupport; private bool _preferIPv6; diff --git a/csharp/src/Ice/Makefile b/csharp/src/Ice/Makefile index ee868c8c3d6..bf129ffbbf3 100644 --- a/csharp/src/Ice/Makefile +++ b/csharp/src/Ice/Makefile @@ -68,7 +68,6 @@ SRCS = Acceptor.cs \ Object.cs \ ObjectAdapterFactory.cs \ ObjectAdapterI.cs \ - ObjectFactoryManager.cs \ ObserverHelper.cs \ OpaqueEndpointI.cs \ Optional.cs \ @@ -124,6 +123,7 @@ SRCS = Acceptor.cs \ UnknownSlicedObject.cs \ UserExceptionFactory.cs \ Util.cs \ + ValueFactoryManager.cs \ ValueWriter.cs \ WSAcceptor.cs \ WSConnector.cs \ @@ -154,6 +154,7 @@ SLICE_SRCS = $(SDIR)/BuiltinSequences.ice \ $(SDIR)/Router.ice \ $(SDIR)/ServantLocator.ice \ $(SDIR)/SliceChecksumDict.ice \ + $(SDIR)/ValueFactory.ice \ $(SDIR)/Version.ice \ SDIR = $(slicedir)/Ice diff --git a/csharp/src/Ice/Makefile.mak b/csharp/src/Ice/Makefile.mak index 4399b506183..e002a13543f 100644 --- a/csharp/src/Ice/Makefile.mak +++ b/csharp/src/Ice/Makefile.mak @@ -69,7 +69,6 @@ SRCS = Acceptor.cs \ Object.cs \ ObjectAdapterFactory.cs \ ObjectAdapterI.cs \ - ObjectFactoryManager.cs \ ObserverHelper.cs \ OpaqueEndpointI.cs \ Optional.cs \ @@ -125,6 +124,7 @@ SRCS = Acceptor.cs \ UnknownSlicedObject.cs \ UserExceptionFactory.cs \ Util.cs \ + ValueFactoryManager.cs \ ValueWriter.cs \ WSAcceptor.cs \ WSConnector.cs \ @@ -155,6 +155,7 @@ GEN_SRCS = $(GDIR)\BuiltinSequences.cs \ $(GDIR)\Router.cs \ $(GDIR)\ServantLocator.cs \ $(GDIR)\SliceChecksumDict.cs \ + $(GDIR)\ValueFactory.cs \ $(GDIR)\Version.cs SDIR = $(slicedir)\Ice diff --git a/csharp/src/Ice/Stream.cs b/csharp/src/Ice/Stream.cs index 0802c0edcfe..3d75e037222 100644 --- a/csharp/src/Ice/Stream.cs +++ b/csharp/src/Ice/Stream.cs @@ -42,7 +42,7 @@ namespace Ice /// </summary> /// <param name="slice">If true (the default), slicing is enabled; if false, /// slicing is disabled. If slicing is disabled and the stream encounters a Slice type ID - /// during decoding for which no object factory is installed, it raises NoObjectFactoryException.</param> + /// during decoding for which no object factory is installed, it raises NoValueFactoryException.</param> void sliceObjects(bool slice); /// <summary> diff --git a/csharp/src/Ice/ObjectFactoryManager.cs b/csharp/src/Ice/ValueFactoryManager.cs index e211713ed55..b2661014a9e 100644 --- a/csharp/src/Ice/ObjectFactoryManager.cs +++ b/csharp/src/Ice/ValueFactoryManager.cs @@ -12,9 +12,9 @@ namespace IceInternal using System.Collections.Generic; - public sealed class ObjectFactoryManager + public sealed class ValueFactoryManager { - public void add(Ice.ObjectFactory factory, string id) + public void add(Ice.ValueFactory factory, string id) { lock(this) { @@ -22,56 +22,70 @@ namespace IceInternal { Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException(); ex.id = id; - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; throw ex; } _factoryMap[id] = factory; } } - - public void remove(string id) + + public void add(Ice.ObjectFactory factory, string id) { - object o = null; lock(this) { - if(!_factoryMap.ContainsKey(id)) + if(_factoryMap.ContainsKey(id)) { - Ice.NotRegisteredException ex = new Ice.NotRegisteredException(); + Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException(); ex.id = id; - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; throw ex; } - _factoryMap.Remove(id); + + Ice.ValueFactory valueFactory = s => { return factory.create(s); }; + _factoryMap[id] = valueFactory; + _objectFactoryMap[id] = factory; } - ((Ice.ObjectFactory)o).destroy(); } - - public Ice.ObjectFactory find(string id) + + public Ice.ValueFactory find(string id) { lock(this) { - Ice.ObjectFactory factory = null; + Ice.ValueFactory factory = null; _factoryMap.TryGetValue(id, out factory); return factory; } } - + + public Ice.ObjectFactory findObjectFactory(string id) + { + lock(this) + { + Ice.ObjectFactory factory = null; + _objectFactoryMap.TryGetValue(id, out factory); + return factory; + } + } + // // Only for use by Instance // - internal ObjectFactoryManager() + internal ValueFactoryManager() { - _factoryMap = new Dictionary<string, Ice.ObjectFactory>(); + _factoryMap = new Dictionary<string, Ice.ValueFactory>(); + _objectFactoryMap = new Dictionary<string, Ice.ObjectFactory>(); } - + internal void destroy() { Dictionary<string, Ice.ObjectFactory> oldMap = null; lock(this) { - oldMap = _factoryMap; - _factoryMap = new Dictionary<string, Ice.ObjectFactory>(); + _factoryMap = new Dictionary<string, Ice.ValueFactory>(); + + oldMap = _objectFactoryMap; + _objectFactoryMap = new Dictionary<string, Ice.ObjectFactory>(); } foreach(Ice.ObjectFactory factory in oldMap.Values) @@ -79,8 +93,9 @@ namespace IceInternal factory.destroy(); } } - - private Dictionary<string, Ice.ObjectFactory> _factoryMap; + + private Dictionary<string, Ice.ValueFactory> _factoryMap; + private Dictionary<string, Ice.ObjectFactory> _objectFactoryMap; } } diff --git a/csharp/test/Ice/exceptions/AllTests.cs b/csharp/test/Ice/exceptions/AllTests.cs index 5869c1c80ab..1e7cd576f84 100644 --- a/csharp/test/Ice/exceptions/AllTests.cs +++ b/csharp/test/Ice/exceptions/AllTests.cs @@ -193,11 +193,10 @@ public class AllTests : TestCommon.TestApp #endif { Write("testing object factory registration exception... "); - Ice.ObjectFactory of = new ObjectFactoryI(); - communicator.addObjectFactory(of, "::x"); + communicator.addValueFactory( _ => { return null; }, "::x"); try { - communicator.addObjectFactory(of, "::x"); + communicator.addValueFactory( _ => { return null; }, "::x"); test(false); } catch(Ice.AlreadyRegisteredException) @@ -674,7 +673,7 @@ public class AllTests : TestCommon.TestApp { test(false); } - cb.called(); + cb.called(); }); cb.check(); } diff --git a/csharp/test/Ice/exceptions/Makefile b/csharp/test/Ice/exceptions/Makefile index 12870972028..f0a64b712c6 100644 --- a/csharp/test/Ice/exceptions/Makefile +++ b/csharp/test/Ice/exceptions/Makefile @@ -11,11 +11,11 @@ top_srcdir = ../../.. TARGETS = client.exe server.exe collocated.exe serveramd.exe -C_SRCS = AllTests.cs Client.cs EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs ../../TestCommon/TestApp.cs -S_SRCS = EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs Server.cs ThrowerI.cs -COL_SRCS = AllTests.cs Collocated.cs EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs ThrowerI.cs \ +C_SRCS = AllTests.cs Client.cs EmptyI.cs ServantLocatorI.cs ../../TestCommon/TestApp.cs +S_SRCS = EmptyI.cs ServantLocatorI.cs Server.cs ThrowerI.cs +COL_SRCS = AllTests.cs Collocated.cs EmptyI.cs ServantLocatorI.cs ThrowerI.cs \ ../../TestCommon/TestApp.cs -SAMD_SRCS = EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs Server.cs ThrowerAMDI.cs +SAMD_SRCS = EmptyI.cs ServantLocatorI.cs Server.cs ThrowerAMDI.cs SLICE_SRCS = $(SDIR)/Test.ice SLICE_AMD_SRCS = $(SDIR)/TestAMD.ice diff --git a/csharp/test/Ice/exceptions/Makefile.mak b/csharp/test/Ice/exceptions/Makefile.mak index 87b2af63240..77f7ff1603d 100644 --- a/csharp/test/Ice/exceptions/Makefile.mak +++ b/csharp/test/Ice/exceptions/Makefile.mak @@ -11,10 +11,10 @@ top_srcdir = ..\..\.. TARGETS = client.exe server.exe collocated.exe serveramd.exe -C_SRCS = AllTests.cs Client.cs EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs ..\..\TestCommon\TestApp.cs -S_SRCS = EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs Server.cs ThrowerI.cs -COL_SRCS = AllTests.cs Collocated.cs EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs ThrowerI.cs ..\..\TestCommon\TestApp.cs -SAMD_SRCS = EmptyI.cs ObjectFactoryI.cs ServantLocatorI.cs Server.cs ThrowerAMDI.cs +C_SRCS = AllTests.cs Client.cs EmptyI.cs ServantLocatorI.cs ..\..\TestCommon\TestApp.cs +S_SRCS = EmptyI.cs ServantLocatorI.cs Server.cs ThrowerI.cs +COL_SRCS = AllTests.cs Collocated.cs EmptyI.cs ServantLocatorI.cs ThrowerI.cs ..\..\TestCommon\TestApp.cs +SAMD_SRCS = EmptyI.cs ServantLocatorI.cs Server.cs ThrowerAMDI.cs GEN_SRCS = $(GDIR)\Test.cs GEN_AMD_SRCS = $(GDIR)\TestAMD.cs diff --git a/csharp/test/Ice/objects/AllTests.cs b/csharp/test/Ice/objects/AllTests.cs index 2a80f162240..f36ce872d0d 100644 --- a/csharp/test/Ice/objects/AllTests.cs +++ b/csharp/test/Ice/objects/AllTests.cs @@ -17,52 +17,70 @@ using System.Windows.Controls; public class AllTests : TestCommon.TestApp { + public static Ice.Object MyValueFactory(string type) + { + if (type.Equals("::Test::B")) + { + return new BI(); + } + else if (type.Equals("::Test::C")) + { + return new CI(); + } + else if (type.Equals("::Test::D")) + { + return new DI(); + } + else if (type.Equals("::Test::E")) + { + return new EI(); + } + else if (type.Equals("::Test::F")) + { + return new FI(); + } + else if (type.Equals("::Test::I")) + { + return new II(); + } + else if (type.Equals("::Test::J")) + { + return new JI(); + } + else if (type.Equals("::Test::H")) + { + return new HI(); + } + Debug.Assert(false); // Should never be reached + return null; + } + private class MyObjectFactory : Ice.ObjectFactory { + public MyObjectFactory() + { + _destroyed = false; + } + + ~MyObjectFactory() + { + Debug.Assert(_destroyed); + } + public Ice.Object create(string type) { - if (type.Equals("::Test::B")) - { - return new BI(); - } - else if (type.Equals("::Test::C")) - { - return new CI(); - } - else if (type.Equals("::Test::D")) - { - return new DI(); - } - else if (type.Equals("::Test::E")) - { - return new EI(); - } - else if (type.Equals("::Test::F")) - { - return new FI(); - } - else if (type.Equals("::Test::I")) - { - return new II(); - } - else if (type.Equals("::Test::J")) - { - return new JI(); - } - else if (type.Equals("::Test::H")) - { - return new HI(); - } - Debug.Assert(false); // Should never be reached return null; } public void destroy() { - // Nothing to do + _destroyed = true; } + + private bool _destroyed; } + #if SILVERLIGHT public override Ice.InitializationData initData() { @@ -78,15 +96,16 @@ public class AllTests : TestCommon.TestApp public static InitialPrx allTests(Ice.Communicator communicator) #endif { - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::B"); - communicator.addObjectFactory(factory, "::Test::C"); - communicator.addObjectFactory(factory, "::Test::D"); - communicator.addObjectFactory(factory, "::Test::E"); - communicator.addObjectFactory(factory, "::Test::F"); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + communicator.addValueFactory(MyValueFactory, "::Test::B"); + communicator.addValueFactory(MyValueFactory, "::Test::C"); + communicator.addValueFactory(MyValueFactory, "::Test::D"); + communicator.addValueFactory(MyValueFactory, "::Test::E"); + communicator.addValueFactory(MyValueFactory, "::Test::F"); + communicator.addValueFactory(MyValueFactory, "::Test::I"); + communicator.addValueFactory(MyValueFactory, "::Test::J"); + communicator.addValueFactory(MyValueFactory, "::Test::H"); + + communicator.addObjectFactory(new MyObjectFactory(), "TestOF"); Write("testing stringToProxy... "); Flush(); @@ -94,38 +113,38 @@ public class AllTests : TestCommon.TestApp Ice.ObjectPrx @base = communicator.stringToProxy(@ref); test(@base != null); WriteLine("ok"); - + Write("testing checked cast... "); Flush(); InitialPrx initial = InitialPrxHelper.checkedCast(@base); test(initial != null); test(initial.Equals(@base)); WriteLine("ok"); - + Write("getting B1... "); Flush(); B b1 = initial.getB1(); test(b1 != null); WriteLine("ok"); - + Write("getting B2... "); Flush(); B b2 = initial.getB2(); test(b2 != null); WriteLine("ok"); - + Write("getting C... "); Flush(); C c = initial.getC(); test(c != null); WriteLine("ok"); - + Write("getting D... "); Flush(); D d = initial.getD(); test(d != null); WriteLine("ok"); - + Write("checking consistency... "); Flush(); test(b1 != b2); @@ -153,7 +172,7 @@ public class AllTests : TestCommon.TestApp test(b2.theA == b2); test(d.theC == null); WriteLine("ok"); - + Write("getting B1, B2, C, and D all at once... "); Flush(); B b1out; @@ -166,7 +185,7 @@ public class AllTests : TestCommon.TestApp test(cout != null); test(dout != null); WriteLine("ok"); - + Write("checking consistency... "); Flush(); test(b1out != b2out); @@ -183,7 +202,7 @@ public class AllTests : TestCommon.TestApp test(dout.preMarshalInvoked); test(dout.postUnmarshalInvoked()); test(dout.theA.preMarshalInvoked); - test(dout.theA.postUnmarshalInvoked()); + test(dout.theA.postUnmarshalInvoked()); test(dout.theB.preMarshalInvoked); test(dout.theB.postUnmarshalInvoked()); test(dout.theB.theC.preMarshalInvoked); @@ -216,7 +235,7 @@ public class AllTests : TestCommon.TestApp I h = initial.getH(); test(h != null && ((H)h) != null); WriteLine("ok"); - + Write("getting D1... "); Flush(); D1 d1 = new D1(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); @@ -226,7 +245,7 @@ public class AllTests : TestCommon.TestApp test(d1.a3.name.Equals("a3")); test(d1.a4.name.Equals("a4")); WriteLine("ok"); - + Write("throw EDerived... "); Flush(); try @@ -258,7 +277,7 @@ public class AllTests : TestCommon.TestApp Base[] outS; Base[] retS; retS = initial.opBaseSeq(inS, out outS); - + inS = new Base[1]; inS[0] = new Base(new S(), ""); retS = initial.opBaseSeq(inS, out outS); @@ -303,6 +322,16 @@ public class AllTests : TestCommon.TestApp test(false); } WriteLine("ok"); + + Write("testing getting ObjectFactory..."); + Flush(); + test(communicator.findObjectFactory("TestOF") != null); + WriteLine("ok"); + Write("testing getting ObjectFactory as ValueFactory..."); + Flush(); + test(communicator.findValueFactory("TestOF") != null); + WriteLine("ok"); + #if SILVERLIGHT initial.shutdown(); #else diff --git a/csharp/test/Ice/objects/Server.cs b/csharp/test/Ice/objects/Server.cs index 3e8b124ee78..233971b175a 100644 --- a/csharp/test/Ice/objects/Server.cs +++ b/csharp/test/Ice/objects/Server.cs @@ -19,39 +19,29 @@ using System.Reflection; public class Server { - private class MyObjectFactory : Ice.ObjectFactory + public static Ice.Object MyValueFactory(string type) { - public Ice.Object create(string type) + if(type.Equals("::Test::I")) { - if(type.Equals("::Test::I")) - { - return new II(); - } - else if(type.Equals("::Test::J")) - { - return new JI(); - } - else if(type.Equals("::Test::H")) - { - return new HI(); - } - Debug.Assert(false); // Should never be reached - return null; + return new II(); } - - public void - destroy() + else if(type.Equals("::Test::J")) + { + return new JI(); + } + else if(type.Equals("::Test::H")) { - // Nothing to do + return new HI(); } + Debug.Assert(false); // Should never be reached + return null; } private static int run(string[] args, Ice.Communicator communicator) { - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + communicator.addValueFactory(MyValueFactory, "::Test::I"); + communicator.addValueFactory(MyValueFactory, "::Test::J"); + communicator.addValueFactory(MyValueFactory, "::Test::H"); communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); diff --git a/csharp/test/Ice/optional/AllTests.cs b/csharp/test/Ice/optional/AllTests.cs index ec1f09527b3..6d96a71069c 100644 --- a/csharp/test/Ice/optional/AllTests.cs +++ b/csharp/test/Ice/optional/AllTests.cs @@ -32,7 +32,7 @@ public class AllTests : TestCommon.TestApp #endif { FactoryI factory = new FactoryI(); - communicator.addObjectFactory(factory, ""); + communicator.addValueFactory(factory.create, ""); Write("testing stringToProxy... "); Flush(); @@ -444,7 +444,7 @@ public class AllTests : TestCommon.TestApp test(10 == g.gg2.a); test(20 == g.gg2Opt.Value.a); test("gg1".Equals(g.gg1.a)); - + WriteLine("ok"); Write("testing marshaling of large containers with fixed size elements... "); @@ -2476,7 +2476,7 @@ public class AllTests : TestCommon.TestApp private Test.F _f; } - private class FactoryI : Ice.ObjectFactory + private class FactoryI { public Ice.Object create(string typeId) { @@ -2513,10 +2513,6 @@ public class AllTests : TestCommon.TestApp return null; } - public void destroy() - { - } - internal void setEnabled(bool enabled) { _enabled = enabled; diff --git a/csharp/test/Ice/slicing/objects/AllTests.cs b/csharp/test/Ice/slicing/objects/AllTests.cs index d0e15db1c76..856325a178e 100644 --- a/csharp/test/Ice/slicing/objects/AllTests.cs +++ b/csharp/test/Ice/slicing/objects/AllTests.cs @@ -62,22 +62,6 @@ public class AllTests : TestCommon.TestApp internal static int counter = 0; } - private class NodeFactoryI : Ice.ObjectFactory - { - public Ice.Object create(string id) - { - if(id.Equals(PNode.ice_staticId())) - { - return new PNodeI(); - } - return null; - } - - public void destroy() - { - } - } - private class PreservedI : Preserved { public PreservedI() @@ -88,20 +72,13 @@ public class AllTests : TestCommon.TestApp internal static int counter = 0; } - private class PreservedFactoryI : Ice.ObjectFactory + private static Ice.Object PreservedFactoryI(string id) { - public Ice.Object create(string id) - { - if(id.Equals(Preserved.ice_staticId())) + if(id.Equals(Preserved.ice_staticId())) { return new PreservedI(); } return null; - } - - public void destroy() - { - } } #if SILVERLIGHT @@ -321,7 +298,7 @@ public class AllTests : TestCommon.TestApp testPrx.SBSUnknownDerivedAsSBaseCompact(); test(false); } - catch(Ice.NoObjectFactoryException) + catch(Ice.NoValueFactoryException) { // Expected. } @@ -380,7 +357,7 @@ public class AllTests : TestCommon.TestApp }, (Ice.Exception ex) => { - test(ex is Ice.NoObjectFactoryException); + test(ex is Ice.NoValueFactoryException); cb.called(); }); cb.check(); @@ -398,7 +375,7 @@ public class AllTests : TestCommon.TestApp test((o as Ice.UnknownSlicedObject).getUnknownTypeId().Equals("::Test::SUnknown")); testPrx.checkSUnknown(o); } - catch(Ice.NoObjectFactoryException) + catch(Ice.NoValueFactoryException) { test(testPrx.ice_getEncodingVersion().Equals(Ice.Util.Encoding_1_0)); } @@ -424,7 +401,7 @@ public class AllTests : TestCommon.TestApp }, (Ice.Exception ex) => { - test(ex.GetType().FullName.Equals("Ice.NoObjectFactoryException")); + test(ex.GetType().FullName.Equals("Ice.NoValueFactoryException")); cb.called(); }); } @@ -1303,7 +1280,7 @@ public class AllTests : TestCommon.TestApp testPrx.begin_returnTest3(d3, b2).whenCompleted( (B b) => { - rv = b; + rv = b; cb.called(); }, (Ice.Exception ex) => @@ -1379,7 +1356,7 @@ public class AllTests : TestCommon.TestApp testPrx.begin_returnTest3(d3, d12).whenCompleted( (B b) => { - rv = b; + rv = b; cb.called(); }, (Ice.Exception ex) => @@ -1540,7 +1517,7 @@ public class AllTests : TestCommon.TestApp testPrx.begin_sequenceTest(ss1, ss2).whenCompleted( (SS3 s) => { - ss = s; + ss = s; cb.called(); }, (Ice.Exception ex) => @@ -1656,7 +1633,7 @@ public class AllTests : TestCommon.TestApp { rv = (Dictionary<int, B>)r; bout = (Dictionary<int, B>)b; - cb.called(); + cb.called(); }, (Ice.Exception ex) => { @@ -1970,7 +1947,7 @@ public class AllTests : TestCommon.TestApp // the Ice run time will install its own internal factory for Preserved upon receiving the // first instance. // - communicator.addObjectFactory(new PreservedFactoryI(), Preserved.ice_staticId()); + communicator.addValueFactory(PreservedFactoryI, Preserved.ice_staticId()); try { @@ -2362,7 +2339,14 @@ public class AllTests : TestCommon.TestApp // Register a factory in order to substitute our own subclass of PNode. This provides // an easy way to determine how many unmarshaled instances currently exist. // - communicator.addObjectFactory(new NodeFactoryI(), PNode.ice_staticId()); + communicator.addValueFactory((string id) => + { + if(id.Equals(PNode.ice_staticId())) + { + return new PNodeI(); + } + return null; + }, PNode.ice_staticId()); // // Relay a graph through the server. diff --git a/csharp/test/Ice/stream/AllTests.cs b/csharp/test/Ice/stream/AllTests.cs index 9e621417599..7034e762aaf 100644 --- a/csharp/test/Ice/stream/AllTests.cs +++ b/csharp/test/Ice/stream/AllTests.cs @@ -99,30 +99,16 @@ public class AllTests : TestCommon.TestApp { } - private class MyInterfaceFactory : Ice.ObjectFactory + private static Ice.Object MyInterfaceFactory(string type) { - public Ice.Object create(string type) - { - Debug.Assert(type.Equals(Test.MyInterfaceDisp_.ice_staticId())); - return new MyInterfaceI(); - } - - public void destroy() - { - } + Debug.Assert(type.Equals(Test.MyInterfaceDisp_.ice_staticId())); + return new MyInterfaceI(); } - private class TestObjectFactory : Ice.ObjectFactory + private static Ice.Object TestObjectFactory(string type) { - public Ice.Object create(string type) - { - Debug.Assert(type.Equals(Test.MyClass.ice_staticId())); - return new TestObjectReader(); - } - - public void destroy() - { - } + Debug.Assert(type.Equals(Test.MyClass.ice_staticId())); + return new TestObjectReader(); } private class TestReadObjectCallback : Ice.ReadObjectCallback @@ -135,7 +121,7 @@ public class AllTests : TestCommon.TestApp internal Ice.Object obj; } - public class MyClassFactoryWrapper : Ice.ObjectFactory + public class MyClassFactoryWrapper { public MyClassFactoryWrapper() { @@ -146,21 +132,17 @@ public class AllTests : TestCommon.TestApp { if (_factory != null) { - return _factory.create(type); + return _factory(type); } return new Test.MyClass(); } - public void destroy() - { - } - - public void setFactory(Ice.ObjectFactory factory) + public void setFactory(Ice.ValueFactory factory) { _factory = factory; } - private Ice.ObjectFactory _factory; + private Ice.ValueFactory _factory; } #if SILVERLIGHT @@ -179,8 +161,9 @@ public class AllTests : TestCommon.TestApp #endif { MyClassFactoryWrapper factoryWrapper = new MyClassFactoryWrapper(); - communicator.addObjectFactory(factoryWrapper, Test.MyClass.ice_staticId()); - communicator.addObjectFactory(new MyInterfaceFactory(), Test.MyInterfaceDisp_.ice_staticId()); + + communicator.addValueFactory(factoryWrapper.create, Test.MyClass.ice_staticId()); + communicator.addValueFactory(MyInterfaceFactory, Test.MyInterfaceDisp_.ice_staticId()); Ice.InputStream @in; Ice.OutputStream @out; @@ -822,7 +805,7 @@ public class AllTests : TestCommon.TestApp @out.writePendingObjects(); byte[] data = @out.finished(); test(writer.called); - factoryWrapper.setFactory(new TestObjectFactory()); + factoryWrapper.setFactory(TestObjectFactory); @in = Ice.Util.createInputStream(communicator, data); TestReadObjectCallback cb = new TestReadObjectCallback(); @in.readObject(cb); diff --git a/java/.gitignore b/java/.gitignore index 7cee12e4143..e7d1999a61f 100644 --- a/java/.gitignore +++ b/java/.gitignore @@ -1,3 +1,4 @@ build .gradle *.iml +.idea diff --git a/java/.idea/.gitignore b/java/.idea/.gitignore deleted file mode 100644 index 8076052d696..00000000000 --- a/java/.idea/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!codeStyleSettings.xml diff --git a/java/.idea/codeStyleSettings.xml b/java/.idea/codeStyleSettings.xml deleted file mode 100644 index 15d5d02a710..00000000000 --- a/java/.idea/codeStyleSettings.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="ProjectCodeStyleSettingsManager"> - <option name="PER_PROJECT_SETTINGS"> - <value> - <XML> - <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" /> - </XML> - <codeStyleSettings language="JAVA"> - <option name="BRACE_STYLE" value="2" /> - <option name="CLASS_BRACE_STYLE" value="2" /> - <option name="METHOD_BRACE_STYLE" value="2" /> - <option name="ELSE_ON_NEW_LINE" value="true" /> - <option name="WHILE_ON_NEW_LINE" value="true" /> - <option name="CATCH_ON_NEW_LINE" value="true" /> - <option name="FINALLY_ON_NEW_LINE" value="true" /> - <option name="SPACE_BEFORE_IF_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" /> - <option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" /> - <option name="IF_BRACE_FORCE" value="3" /> - <option name="DOWHILE_BRACE_FORCE" value="3" /> - <option name="WHILE_BRACE_FORCE" value="3" /> - <option name="FOR_BRACE_FORCE" value="3" /> - </codeStyleSettings> - </value> - </option> - <option name="USE_PER_PROJECT_SETTINGS" value="true" /> - </component> -</project> - diff --git a/java/gradle/wrapper/gradle-wrapper.properties b/java/gradle/wrapper/gradle-wrapper.properties index 72676e753af..8d25f7a74b8 100644 --- a/java/gradle/wrapper/gradle-wrapper.properties +++ b/java/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Aug 12 11:58:49 NDT 2015 +#Thu Dec 03 11:16:08 EST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-all.zip diff --git a/java/src/Ice/src/main/java/Ice/CommunicatorI.java b/java/src/Ice/src/main/java/Ice/CommunicatorI.java index 464ca119820..de854848e34 100644 --- a/java/src/Ice/src/main/java/Ice/CommunicatorI.java +++ b/java/src/Ice/src/main/java/Ice/CommunicatorI.java @@ -124,14 +124,22 @@ public final class CommunicatorI implements Communicator @Override public void - addObjectFactory(ObjectFactory factory, String id) + addObjectFactory(ObjectFactory factory, String id) { _instance.servantFactoryManager().add(factory, id); } + + @Override + public ObjectFactory + findObjectFactory(String id) { return _instance.servantFactoryManager().findObjectFactory(id); } + + @Override + public void + addValueFactory(ValueFactory factory, String id) { _instance.servantFactoryManager().add(factory, id); } @Override - public ObjectFactory - findObjectFactory(String id) + public ValueFactory + findValueFactory(String id) { return _instance.servantFactoryManager().find(id); } diff --git a/java/src/Ice/src/main/java/Ice/InputStream.java b/java/src/Ice/src/main/java/Ice/InputStream.java index d6428c263ba..89a7c71a9d7 100644 --- a/java/src/Ice/src/main/java/Ice/InputStream.java +++ b/java/src/Ice/src/main/java/Ice/InputStream.java @@ -30,7 +30,7 @@ public interface InputStream * * @param slice If <code>true</code> (the default), slicing is enabled; if <code>false</code>, * slicing is disabled. If slicing is disabled and the stream encounters a Slice type ID - * during decoding for which no object factory is installed, it raises {@link NoObjectFactoryException}. + * during decoding for which no value factory is installed, it raises {@link NoValueFactoryException}. **/ void sliceObjects(boolean slice); diff --git a/java/src/Ice/src/main/java/IceInternal/BasicStream.java b/java/src/Ice/src/main/java/IceInternal/BasicStream.java index 9394638f3cb..2c93207bda9 100644 --- a/java/src/Ice/src/main/java/IceInternal/BasicStream.java +++ b/java/src/Ice/src/main/java/IceInternal/BasicStream.java @@ -2745,7 +2745,7 @@ public class BasicStream } catch(java.lang.Exception ex) { - throw new Ice.NoObjectFactoryException("no object factory", id, ex); + throw new Ice.NoValueFactoryException("no value factory", id, ex); } return obj; @@ -2951,7 +2951,7 @@ public class BasicStream abstract private static class EncapsDecoder { - EncapsDecoder(BasicStream stream, boolean sliceObjects, ObjectFactoryManager f) + EncapsDecoder(BasicStream stream, boolean sliceObjects, ValueFactoryManager f) { _stream = stream; _sliceObjects = sliceObjects; @@ -3013,7 +3013,7 @@ public class BasicStream // // Try to find a factory registered for the specific type. // - Ice.ObjectFactory userFactory = _servantFactoryManager.find(typeId); + Ice.ValueFactory userFactory = _servantFactoryManager.find(typeId); Ice.Object v = null; if(userFactory != null) { @@ -3174,7 +3174,7 @@ public class BasicStream protected final BasicStream _stream; protected final boolean _sliceObjects; - protected ObjectFactoryManager _servantFactoryManager; + protected ValueFactoryManager _servantFactoryManager; // Encapsulation attributes for object un-marshalling protected java.util.TreeMap<Integer, java.util.LinkedList<Patcher> > _patchMap; @@ -3188,7 +3188,7 @@ public class BasicStream private static final class EncapsDecoder10 extends EncapsDecoder { - EncapsDecoder10(BasicStream stream, boolean sliceObjects, ObjectFactoryManager f) + EncapsDecoder10(BasicStream stream, boolean sliceObjects, ValueFactoryManager f) { super(stream, sliceObjects, f); _sliceType = SliceType.NoSlice; @@ -3446,7 +3446,7 @@ public class BasicStream // if(_typeId.equals(Ice.ObjectImpl.ice_staticId())) { - throw new Ice.NoObjectFactoryException("", mostDerivedId); + throw new Ice.NoValueFactoryException("", mostDerivedId); } v = newInstance(_typeId); @@ -3464,7 +3464,7 @@ public class BasicStream // if(!_sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", _typeId); } @@ -3492,7 +3492,7 @@ public class BasicStream private static class EncapsDecoder11 extends EncapsDecoder { - EncapsDecoder11(BasicStream stream, boolean sliceObjects, ObjectFactoryManager f) + EncapsDecoder11(BasicStream stream, boolean sliceObjects, ValueFactoryManager f) { super(stream, sliceObjects, f); _objectIdIndex = 1; @@ -3787,7 +3787,7 @@ public class BasicStream { if(_current.sliceType == SliceType.ObjectSlice) { - throw new Ice.NoObjectFactoryException("no object factory found and compact format prevents " + + throw new Ice.NoValueFactoryException("no value factory found and compact format prevents " + "slicing (the sender should use the sliced format instead)", _current.typeId); } @@ -3951,7 +3951,7 @@ public class BasicStream // if(!_sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", _current.typeId); } @@ -4763,7 +4763,7 @@ public class BasicStream if(_readEncapsStack.decoder == null) // Lazy initialization. { - ObjectFactoryManager factoryManager = _instance.servantFactoryManager(); + ValueFactoryManager factoryManager = _instance.servantFactoryManager(); if(_readEncapsStack.encoding_1_0) { _readEncapsStack.decoder = new EncapsDecoder10(this, _sliceObjects, factoryManager); diff --git a/java/src/Ice/src/main/java/IceInternal/Ex.java b/java/src/Ice/src/main/java/IceInternal/Ex.java index 4e2cb28ee0c..55f746a0844 100644 --- a/java/src/Ice/src/main/java/IceInternal/Ex.java +++ b/java/src/Ice/src/main/java/IceInternal/Ex.java @@ -15,13 +15,13 @@ public class Ex { // // If the object is an unknown sliced object, we didn't find an - // object factory, in this case raise a NoObjectFactoryException + // value factory, in this case raise a NoValueFactoryException // instead. // if(v instanceof Ice.UnknownSlicedObject) { Ice.UnknownSlicedObject uso = (Ice.UnknownSlicedObject)v; - throw new Ice.NoObjectFactoryException("", uso.getUnknownTypeId()); + throw new Ice.NoValueFactoryException("", uso.getUnknownTypeId()); } String type = v.ice_id(); diff --git a/java/src/Ice/src/main/java/IceInternal/Instance.java b/java/src/Ice/src/main/java/IceInternal/Instance.java index 30698fc060d..48f4a304883 100644 --- a/java/src/Ice/src/main/java/IceInternal/Instance.java +++ b/java/src/Ice/src/main/java/IceInternal/Instance.java @@ -255,7 +255,7 @@ public final class Instance return _outgoingConnectionFactory; } - public synchronized ObjectFactoryManager + public synchronized ValueFactoryManager servantFactoryManager() { if(_state == StateDestroyed) @@ -987,7 +987,7 @@ public final class Instance _outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this); - _servantFactoryManager = new ObjectFactoryManager(); + _servantFactoryManager = new ValueFactoryManager(); _objectAdapterFactory = new ObjectAdapterFactory(this, communicator); @@ -1724,7 +1724,7 @@ public final class Instance private RequestHandlerFactory _requestHandlerFactory; private ProxyFactory _proxyFactory; private OutgoingConnectionFactory _outgoingConnectionFactory; - private ObjectFactoryManager _servantFactoryManager; + private ValueFactoryManager _servantFactoryManager; private ObjectAdapterFactory _objectAdapterFactory; private int _protocolSupport; private boolean _preferIPv6; diff --git a/java/src/Ice/src/main/java/IceInternal/ObjectFactoryManager.java b/java/src/Ice/src/main/java/IceInternal/ObjectFactoryManager.java deleted file mode 100644 index f5582759292..00000000000 --- a/java/src/Ice/src/main/java/IceInternal/ObjectFactoryManager.java +++ /dev/null @@ -1,79 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -package IceInternal; - -public final class ObjectFactoryManager -{ - public synchronized void - add(Ice.ObjectFactory factory, String id) - { - Object o = _factoryMap.get(id); - if(o != null) - { - Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException(); - ex.id = id; - ex.kindOfObject = "object factory"; - throw ex; - } - _factoryMap.put(id, factory); - } - - public void - remove(String id) - { - Ice.ObjectFactory factory = null; - - synchronized(this) - { - factory = _factoryMap.get(id); - if(factory == null) - { - Ice.NotRegisteredException ex = new Ice.NotRegisteredException(); - ex.id = id; - ex.kindOfObject = "object factory"; - throw ex; - } - _factoryMap.remove(id); - } - - factory.destroy(); - } - - public synchronized Ice.ObjectFactory - find(String id) - { - return _factoryMap.get(id); - } - - // - // Only for use by Instance - // - ObjectFactoryManager() - { - } - - void - destroy() - { - java.util.Map<String, Ice.ObjectFactory> oldMap = null; - synchronized(this) - { - oldMap = _factoryMap; - _factoryMap = new java.util.HashMap<String, Ice.ObjectFactory>(); - } - - for(Ice.ObjectFactory factory : oldMap.values()) - { - factory.destroy(); - } - } - - private java.util.Map<String, Ice.ObjectFactory> _factoryMap = new java.util.HashMap<String, Ice.ObjectFactory>(); -} diff --git a/java/src/Ice/src/main/java/IceInternal/ValueFactoryManager.java b/java/src/Ice/src/main/java/IceInternal/ValueFactoryManager.java new file mode 100644 index 00000000000..f685d088b9a --- /dev/null +++ b/java/src/Ice/src/main/java/IceInternal/ValueFactoryManager.java @@ -0,0 +1,100 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package IceInternal; + +public final class ValueFactoryManager +{ + public synchronized void + add(Ice.ObjectFactory factory, String id) + { + Object o = _factoryMap.get(id); + if(o != null) + { + Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException(); + ex.id = id; + ex.kindOfObject = "value factory"; + throw ex; + } + + _objectFactoryMap.put(id, factory); + _factoryMap.put(id, new ObjectFactoryWrapper(factory)); + } + + public synchronized void + add(Ice.ValueFactory factory, String id) + { + Object o = _factoryMap.get(id); + if(o != null) + { + Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException(); + ex.id = id; + ex.kindOfObject = "value factory"; + throw ex; + } + _factoryMap.put(id, factory); + } + + public synchronized Ice.ValueFactory + find(String id) + { + return _factoryMap.get(id); + } + + public synchronized Ice.ObjectFactory + findObjectFactory(String id) + { + return _objectFactoryMap.get(id); + } + + // + // Only for use by Instance + // + ValueFactoryManager() + { + } + + void + destroy() + { + java.util.Map<String, Ice.ObjectFactory> oldMap = null; + synchronized(this) + { + _factoryMap = new java.util.HashMap<String, Ice.ValueFactory>(); + + + oldMap = _objectFactoryMap; + _objectFactoryMap = new java.util.HashMap<String, Ice.ObjectFactory>(); + + } + + for(Ice.ObjectFactory factory : oldMap.values()) + { + factory.destroy(); + } + } + + private class ObjectFactoryWrapper implements Ice.ValueFactory + { + public ObjectFactoryWrapper(Ice.ObjectFactory factory) + { + _objectFactory = factory; + } + + public Ice.Object create(String id) + { + return _objectFactory.create(id); + } + + private final Ice.ObjectFactory _objectFactory; + } + + private java.util.Map<String, Ice.ValueFactory> _factoryMap = new java.util.HashMap<String, Ice.ValueFactory>(); + private java.util.Map<String, Ice.ObjectFactory> _objectFactoryMap = new java.util.HashMap<String, Ice.ObjectFactory>(); +} diff --git a/java/test/src/main/java/test/Ice/classLoader/AllTests.java b/java/test/src/main/java/test/Ice/classLoader/AllTests.java index 2c8c9e8d780..ecf9cd26d38 100644 --- a/java/test/src/main/java/test/Ice/classLoader/AllTests.java +++ b/java/test/src/main/java/test/Ice/classLoader/AllTests.java @@ -20,7 +20,7 @@ import test.Util.Application; public class AllTests { - private static class MyObjectFactory implements Ice.ObjectFactory + private static class MyValueFactory implements Ice.ValueFactory { @Override public Ice.Object create(String type) @@ -33,12 +33,6 @@ public class AllTests assert (false); // Should never be reached return null; } - - @Override - public void destroy() - { - // Nothing to do - } } private static class MyClassLoader extends ClassLoader @@ -179,7 +173,7 @@ public class AllTests { initial.getAbstractClass(); } - catch(Ice.NoObjectFactoryException ex) + catch(Ice.NoValueFactoryException ex) { // Expected. } @@ -187,7 +181,7 @@ public class AllTests test(classLoader.check("test.Ice.classLoader.Test.AbstractClass")); classLoader.reset(); - ic.addObjectFactory(new MyObjectFactory(), "::Test::AbstractClass"); + ic.addValueFactory(new MyValueFactory(), "::Test::AbstractClass"); AbstractClass ac = initial.getAbstractClass(); test(ac != null); test(!classLoader.check("Test.AbstractClass")); diff --git a/java/test/src/main/java/test/Ice/exceptions/AllTests.java b/java/test/src/main/java/test/Ice/exceptions/AllTests.java index 517da43f829..542d1f4eb2c 100644 --- a/java/test/src/main/java/test/Ice/exceptions/AllTests.java +++ b/java/test/src/main/java/test/Ice/exceptions/AllTests.java @@ -826,12 +826,12 @@ public class AllTests } { - out.print("testing object factory registration exception... "); - Ice.ObjectFactory of = new ObjectFactoryI(); - communicator.addObjectFactory(of, "::x"); + out.print("testing value factory registration exception... "); + Ice.ValueFactory of = new ValueFactoryI(); + communicator.addValueFactory(of, "::x"); try { - communicator.addObjectFactory(of, "::x"); + communicator.addValueFactory(of, "::x"); test(false); } catch(Ice.AlreadyRegisteredException ex) @@ -1138,7 +1138,7 @@ public class AllTests ex.printStackTrace(); test(false); } - + ThrowerPrx thrower2 = ThrowerPrxHelper.uncheckedCast( communicator.stringToProxy("thrower:default -p 12011")); try diff --git a/java/test/src/main/java/test/Ice/exceptions/ObjectFactoryI.java b/java/test/src/main/java/test/Ice/exceptions/ValueFactoryI.java index 3d19f59826b..e14b6996188 100644 --- a/java/test/src/main/java/test/Ice/exceptions/ObjectFactoryI.java +++ b/java/test/src/main/java/test/Ice/exceptions/ValueFactoryI.java @@ -10,7 +10,7 @@ package test.Ice.exceptions; -public final class ObjectFactoryI implements Ice.ObjectFactory +public final class ValueFactoryI implements Ice.ValueFactory { @Override public Ice.Object create(String s) @@ -18,8 +18,4 @@ public final class ObjectFactoryI implements Ice.ObjectFactory return null; } - @Override - public void destroy() - { - } } diff --git a/java/test/src/main/java/test/Ice/objects/AllTests.java b/java/test/src/main/java/test/Ice/objects/AllTests.java index 65b30df0eee..9a99ce425f5 100644 --- a/java/test/src/main/java/test/Ice/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/objects/AllTests.java @@ -152,7 +152,7 @@ public class AllTests test(d.preMarshalInvoked); test(d.postUnmarshalInvoked(null)); test(d.theA.preMarshalInvoked); - test(d.theA.postUnmarshalInvoked(null)); + test(d.theA.postUnmarshalInvoked(null)); test(d.theB.preMarshalInvoked); test(d.theB.postUnmarshalInvoked(null)); test(d.theB.theC.preMarshalInvoked); @@ -196,7 +196,7 @@ public class AllTests I h = initial.getH(); test(h != null && ((H)h) != null); out.println("ok"); - + out.print("getting D1... "); out.flush(); D1 d1 = new D1(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); @@ -206,7 +206,7 @@ public class AllTests test(d1.a3.name.equals("a3")); test(d1.a4.name.equals("a4")); out.println("ok"); - + out.print("throw EDerived... "); out.flush(); try @@ -229,7 +229,7 @@ public class AllTests initial.setI(j); initial.setI(h); out.println("ok"); - + out.print("testing sequences..."); try { @@ -238,7 +238,7 @@ public class AllTests BaseSeqHolder outS = new BaseSeqHolder(); Base[] retS; retS = initial.opBaseSeq(inS, outS); - + inS = new Base[1]; inS[0] = new Base(new S(), ""); retS = initial.opBaseSeq(inS, outS); @@ -284,6 +284,14 @@ public class AllTests } out.println("ok"); + out.print("testing getting ObjectFactory..."); + out.flush(); + test(communicator.findObjectFactory("TestOF") != null); + out.println("ok"); + out.print("testing getting ObjectFactory as ValueFactory..."); + test(communicator.findValueFactory("TestOF") != null); + out.println("ok"); + return initial; } } diff --git a/java/test/src/main/java/test/Ice/objects/Client.java b/java/test/src/main/java/test/Ice/objects/Client.java index 94796610b60..438ddbc5ea1 100644 --- a/java/test/src/main/java/test/Ice/objects/Client.java +++ b/java/test/src/main/java/test/Ice/objects/Client.java @@ -13,7 +13,7 @@ import test.Ice.objects.Test.InitialPrx; public class Client extends test.Util.Application { - private static class MyObjectFactory implements Ice.ObjectFactory + private static class MyValueFactory implements Ice.ValueFactory { @Override public Ice.Object create(String type) @@ -39,6 +39,7 @@ public class Client extends test.Util.Application return new FI(); } else if(type.equals("::Test::I")) + { return new II(); } @@ -54,11 +55,20 @@ public class Client extends test.Util.Application assert (false); // Should never be reached return null; } + } + + private static class MyObjectFactory implements Ice.ObjectFactory + { + @Override + public Ice.Object create(String type) + { + return null; + } @Override public void destroy() { - // Nothing to do + // } } @@ -66,15 +76,17 @@ public class Client extends test.Util.Application public int run(String[] args) { Ice.Communicator communicator = communicator(); - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::B"); - communicator.addObjectFactory(factory, "::Test::C"); - communicator.addObjectFactory(factory, "::Test::D"); - communicator.addObjectFactory(factory, "::Test::E"); - communicator.addObjectFactory(factory, "::Test::F"); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + Ice.ValueFactory factory = new MyValueFactory(); + communicator.addValueFactory(factory, "::Test::B"); + communicator.addValueFactory(factory, "::Test::C"); + communicator.addValueFactory(factory, "::Test::D"); + communicator.addValueFactory(factory, "::Test::E"); + communicator.addValueFactory(factory, "::Test::F"); + communicator.addValueFactory(factory, "::Test::I"); + communicator.addValueFactory(factory, "::Test::J"); + communicator.addValueFactory(factory, "::Test::H"); + + communicator.addObjectFactory(new MyObjectFactory(), "TestOF"); InitialPrx initial = AllTests.allTests(communicator, getWriter()); initial.shutdown(); diff --git a/java/test/src/main/java/test/Ice/objects/Collocated.java b/java/test/src/main/java/test/Ice/objects/Collocated.java index 6ec8eff5f7d..0bcd2586e98 100644 --- a/java/test/src/main/java/test/Ice/objects/Collocated.java +++ b/java/test/src/main/java/test/Ice/objects/Collocated.java @@ -13,7 +13,7 @@ import test.Ice.objects.Test.Initial; public class Collocated extends test.Util.Application { - private static class MyObjectFactory implements Ice.ObjectFactory + private static class MyValueFactory implements Ice.ValueFactory { @Override public Ice.Object create(String type) @@ -54,11 +54,20 @@ public class Collocated extends test.Util.Application assert (false); // Should never be reached return null; } + } + + private static class MyObjectFactory implements Ice.ObjectFactory + { + @Override + public Ice.Object create(String type) + { + return null; + } @Override public void destroy() { - // Nothing to do + // } } @@ -66,15 +75,17 @@ public class Collocated extends test.Util.Application public int run(String[] args) { Ice.Communicator communicator = communicator(); - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::B"); - communicator.addObjectFactory(factory, "::Test::C"); - communicator.addObjectFactory(factory, "::Test::D"); - communicator.addObjectFactory(factory, "::Test::E"); - communicator.addObjectFactory(factory, "::Test::F"); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + Ice.ValueFactory factory = new MyValueFactory(); + communicator.addValueFactory(factory, "::Test::B"); + communicator.addValueFactory(factory, "::Test::C"); + communicator.addValueFactory(factory, "::Test::D"); + communicator.addValueFactory(factory, "::Test::E"); + communicator.addValueFactory(factory, "::Test::F"); + communicator.addValueFactory(factory, "::Test::I"); + communicator.addValueFactory(factory, "::Test::J"); + communicator.addValueFactory(factory, "::Test::H"); + + communicator.addObjectFactory(new MyObjectFactory(), "TestOF"); communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); diff --git a/java/test/src/main/java/test/Ice/objects/Server.java b/java/test/src/main/java/test/Ice/objects/Server.java index 5d076043338..9056574bec1 100644 --- a/java/test/src/main/java/test/Ice/objects/Server.java +++ b/java/test/src/main/java/test/Ice/objects/Server.java @@ -11,7 +11,7 @@ package test.Ice.objects; public class Server extends test.Util.Application { - private static class MyObjectFactory implements Ice.ObjectFactory + private static class MyValueFactory implements Ice.ValueFactory { @Override public Ice.Object create(String type) @@ -32,22 +32,16 @@ public class Server extends test.Util.Application assert (false); // Should never be reached return null; } - - @Override - public void destroy() - { - // Nothing to do - } } @Override public int run(String[] args) { Ice.Communicator communicator = communicator(); - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + Ice.ValueFactory factory = new MyValueFactory(); + communicator.addValueFactory(factory, "::Test::I"); + communicator.addValueFactory(factory, "::Test::J"); + communicator.addValueFactory(factory, "::Test::H"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); Ice.Object object = new InitialI(adapter); diff --git a/java/test/src/main/java/test/Ice/optional/AllTests.java b/java/test/src/main/java/test/Ice/optional/AllTests.java index 423072dd6d4..64273a33410 100644 --- a/java/test/src/main/java/test/Ice/optional/AllTests.java +++ b/java/test/src/main/java/test/Ice/optional/AllTests.java @@ -29,7 +29,7 @@ public class AllTests Ice.Communicator communicator = app.communicator(); FactoryI factory = new FactoryI(); - communicator.addObjectFactory(factory, ""); + communicator.addValueFactory(factory, ""); out.print("testing stringToProxy... "); out.flush(); @@ -415,7 +415,7 @@ public class AllTests test(10 == g.gg2.a); test(20 == g.getGg2Opt().a); test("gg1".equals(g.gg1.a)); - + out.println("ok"); out.print("testing marshaling of large containers with fixed size elements... "); @@ -2450,7 +2450,7 @@ public class AllTests private F _f; } - private static class FactoryI implements Ice.ObjectFactory + private static class FactoryI implements Ice.ValueFactory { @Override public Ice.Object create(String typeId) @@ -2488,11 +2488,6 @@ public class AllTests return null; } - @Override - public void destroy() - { - } - void setEnabled(boolean enabled) { _enabled = enabled; diff --git a/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java b/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java index e1b805fdff3..6eacdb08a5d 100644 --- a/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java @@ -248,7 +248,7 @@ public class AllTests callback.called(); return; } - test(exc instanceof Ice.NoObjectFactoryException); + test(exc instanceof Ice.NoValueFactoryException); callback.called(); } @@ -274,7 +274,7 @@ public class AllTests public void exception(Ice.LocalException exc) { - test(exc.ice_name().equals("Ice::NoObjectFactoryException")); + test(exc.ice_name().equals("Ice::NoValueFactoryException")); callback.called(); } @@ -929,7 +929,7 @@ public class AllTests private Callback callback = new Callback(); } - private static class Callback_TestIntf_throwUnknownDerivedAsBaseI + private static class Callback_TestIntf_throwUnknownDerivedAsBaseI extends Callback_TestIntf_throwUnknownDerivedAsBase { @Override @@ -1282,7 +1282,7 @@ public class AllTests static int counter = 0; } - private static class NodeFactoryI implements Ice.ObjectFactory + private static class NodeFactoryI implements Ice.ValueFactory { @Override public Ice.Object create(String id) @@ -1293,11 +1293,6 @@ public class AllTests } return null; } - - @Override - public void destroy() - { - } } private static class PreservedI extends Preserved @@ -1310,7 +1305,7 @@ public class AllTests static int counter = 0; } - private static class PreservedFactoryI implements Ice.ObjectFactory + private static class PreservedFactoryI implements Ice.ValueFactory { @Override public Ice.Object create(String id) @@ -1321,11 +1316,6 @@ public class AllTests } return null; } - - @Override - public void destroy() - { - } } public static TestIntfPrx @@ -1494,7 +1484,7 @@ public class AllTests test.SBSUnknownDerivedAsSBaseCompact(); test(false); } - catch(Ice.NoObjectFactoryException ex) + catch(Ice.NoValueFactoryException ex) { // Expected. } @@ -1550,7 +1540,7 @@ public class AllTests test(((Ice.UnknownSlicedObject)o).getUnknownTypeId().equals("::Test::SUnknown")); test.checkSUnknown(o); } - catch(Ice.NoObjectFactoryException ex) + catch(Ice.NoValueFactoryException ex) { test(test.ice_getEncodingVersion().equals(Ice.Util.Encoding_1_0)); } @@ -2750,7 +2740,7 @@ public class AllTests // the Ice run time will install its own internal factory for Preserved upon receiving the // first instance. // - communicator.addObjectFactory(new PreservedFactoryI(), Preserved.ice_staticId()); + communicator.addValueFactory(new PreservedFactoryI(), Preserved.ice_staticId()); try { @@ -3073,7 +3063,7 @@ public class AllTests // Register a factory in order to substitute our own subclass of PNode. This provides // an easy way to determine how many unmarshaled instances currently exist. // - communicator.addObjectFactory(new NodeFactoryI(), PNode.ice_staticId()); + communicator.addValueFactory(new NodeFactoryI(), PNode.ice_staticId()); // // Relay a graph through the server. diff --git a/java/test/src/main/java/test/Ice/stream/Client.java b/java/test/src/main/java/test/Ice/stream/Client.java index 9ac989002d2..7087dcc9497 100644 --- a/java/test/src/main/java/test/Ice/stream/Client.java +++ b/java/test/src/main/java/test/Ice/stream/Client.java @@ -66,7 +66,7 @@ public class Client extends test.Util.Application boolean called = false; } - private static class TestObjectFactory implements Ice.ObjectFactory + private static class TestValueFactory implements Ice.ValueFactory { @Override public Ice.Object @@ -75,19 +75,13 @@ public class Client extends test.Util.Application assert(type.equals(MyClass.ice_staticId())); return new TestObjectReader(); } - - @Override - public void - destroy() - { - } } private static class MyInterfaceI extends _MyInterfaceDisp { }; - private static class MyInterfaceFactory implements Ice.ObjectFactory + private static class MyInterfaceFactory implements Ice.ValueFactory { @Override public Ice.Object @@ -96,12 +90,6 @@ public class Client extends test.Util.Application assert(type.equals(_MyInterfaceDisp.ice_staticId())); return new MyInterfaceI(); } - - @Override - public void - destroy() - { - } } private static class TestReadObjectCallback implements Ice.ReadObjectCallback @@ -116,7 +104,7 @@ public class Client extends test.Util.Application Ice.Object obj; } - private static class MyClassFactoryWrapper implements Ice.ObjectFactory + private static class MyClassFactoryWrapper implements Ice.ValueFactory { MyClassFactoryWrapper() { @@ -130,14 +118,8 @@ public class Client extends test.Util.Application return _factory.create(type); } - @Override - public void - destroy() - { - } - void - setFactory(Ice.ObjectFactory factory) + setFactory(Ice.ValueFactory factory) { if(factory == null) { @@ -149,7 +131,7 @@ public class Client extends test.Util.Application } } - private Ice.ObjectFactory _factory; + private Ice.ValueFactory _factory; } @Override @@ -158,8 +140,8 @@ public class Client extends test.Util.Application { Ice.Communicator comm = communicator(); MyClassFactoryWrapper factoryWrapper = new MyClassFactoryWrapper(); - comm.addObjectFactory(factoryWrapper, MyClass.ice_staticId()); - comm.addObjectFactory(new MyInterfaceFactory(), _MyInterfaceDisp.ice_staticId()); + comm.addValueFactory(factoryWrapper, MyClass.ice_staticId()); + comm.addValueFactory(new MyInterfaceFactory(), _MyInterfaceDisp.ice_staticId()); Ice.InputStream in; Ice.OutputStream out; @@ -759,7 +741,7 @@ public class Client extends test.Util.Application out.destroy(); in.destroy(); } - + { MyInterface i = new MyInterfaceI(); out = Ice.Util.createOutputStream(comm); @@ -796,7 +778,7 @@ public class Client extends test.Util.Application out.writePendingObjects(); byte[] data = out.finished(); test(writer.called); - factoryWrapper.setFactory(new TestObjectFactory()); + factoryWrapper.setFactory(new TestValueFactory()); in = Ice.Util.createInputStream(comm, data); TestReadObjectCallback cb = new TestReadObjectCallback(); in.readObject(cb); @@ -835,10 +817,10 @@ public class Client extends test.Util.Application c.d.put("hi", c); ex.c = c; - + out.writeException(ex); byte[] data = out.finished(); - + in = Ice.Util.createInputStream(comm, data); try { diff --git a/js/src/Ice/BasicStream.js b/js/src/Ice/BasicStream.js index 548956fc158..43dbc355fd7 100644 --- a/js/src/Ice/BasicStream.js +++ b/js/src/Ice/BasicStream.js @@ -490,7 +490,7 @@ var EncapsDecoder10 = Class(EncapsDecoder, { // if(this._typeId == IceObject.ice_staticId()) { - throw new Ice.NoObjectFactoryException("", mostDerivedId); + throw new Ice.NoValueFactoryException("", mostDerivedId); } v = this.newInstance(this._typeId); @@ -508,7 +508,7 @@ var EncapsDecoder10 = Class(EncapsDecoder, { // if(!this._sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", this._typeId); } @@ -793,7 +793,7 @@ var EncapsDecoder11 = Class(EncapsDecoder, { { if(this._current.sliceType === SliceType.ObjectSlice) { - throw new Ice.NoObjectFactoryException("no object factory found and compact format prevents slicing " + + throw new Ice.NoValueFactoryException("no value factory found and compact format prevents slicing " + "(the sender should use the sliced format instead)", this._current.typeId); } @@ -936,7 +936,7 @@ var EncapsDecoder11 = Class(EncapsDecoder, { // if(!this._sliceObjects) { - throw new Ice.NoObjectFactoryException("no object factory found and object slicing is disabled", + throw new Ice.NoValueFactoryException("no value factory found and object slicing is disabled", this._current.typeId); } @@ -2761,7 +2761,7 @@ var BasicStream = Class({ } catch(ex) { - throw new Ice.NoObjectFactoryException("no object factory", id, ex); + throw new Ice.NoValueFactoryException("no value factory", id, ex); } return obj; @@ -2898,7 +2898,7 @@ var defineBuiltinHelper = function(write, read, sz, format, min, max) writeOpt: function(os, tag, v) { os.writeOptValue(tag, format, write, v); }, readOpt: function(is, tag) { return is.readOptValue(tag, format, read); }, }; - + if(min !== undefined && max !== undefined) { helper.validate = function(v) { @@ -2932,13 +2932,13 @@ var MAX_INT32_VALUE = 0x7FFFFFFF; var MIN_FLOAT32_VALUE = -3.4028234664e+38; var MAX_FLOAT32_VALUE = 3.4028234664e+38; -Ice.ByteHelper = defineBuiltinHelper(stream.writeByte, stream.readByte, 1, Ice.OptionalFormat.F1, +Ice.ByteHelper = defineBuiltinHelper(stream.writeByte, stream.readByte, 1, Ice.OptionalFormat.F1, MIN_UINT8_VALUE, MAX_UINT8_VALUE); Ice.ShortHelper = defineBuiltinHelper(stream.writeShort, stream.readShort, 2, Ice.OptionalFormat.F2, MIN_INT16_VALUE, MAX_INT16_VALUE); -Ice.IntHelper = defineBuiltinHelper(stream.writeInt, stream.readInt, 4, Ice.OptionalFormat.F4, +Ice.IntHelper = defineBuiltinHelper(stream.writeInt, stream.readInt, 4, Ice.OptionalFormat.F4, MIN_INT32_VALUE, MAX_INT32_VALUE); Ice.FloatHelper = defineBuiltinHelper(stream.writeFloat, stream.readFloat, 4, Ice.OptionalFormat.F4, @@ -2964,7 +2964,7 @@ Ice.LongHelper.validate = function(v) // // For a long to be valid both words must be within the range of UINT32 // - return v.low >= MIN_UINT32_VALUE && v.low <= MAX_UINT32_VALUE && + return v.low >= MIN_UINT32_VALUE && v.low <= MAX_UINT32_VALUE && v.high >= MIN_UINT32_VALUE && v.high <= MAX_UINT32_VALUE; }; diff --git a/js/src/Ice/Communicator.js b/js/src/Ice/Communicator.js index 7e2d1eee99c..b522a4c9f09 100644 --- a/js/src/Ice/Communicator.js +++ b/js/src/Ice/Communicator.js @@ -117,10 +117,18 @@ var Communicator = Ice.Class({ }, addObjectFactory: function(factory, id) { - this._instance.servantFactoryManager().add(factory, id); + this._instance.servantFactoryManager().addObjectFactory(factory, id); }, findObjectFactory: function(id) { + return this._instance.servantFactoryManager().findObjectFactory(id); + }, + addValueFactory: function(factory, id) + { + this._instance.servantFactoryManager().add(factory, id); + }, + findValueFactory: function(id) + { return this._instance.servantFactoryManager().find(id); }, getImplicitContext: function() diff --git a/js/src/Ice/Ice.js b/js/src/Ice/Ice.js index 31248e043eb..1ef8c2bd5cc 100644 --- a/js/src/Ice/Ice.js +++ b/js/src/Ice/Ice.js @@ -35,6 +35,7 @@ module.exports.Ice = __M.require(module, "../Ice/Router", "../Ice/Version", "../Ice/ObjectFactory", + "../Ice/ValueFactory", "../Ice/Buffer", "../Ice/ArrayUtil", "../Ice/UnknownSlicedObject", diff --git a/js/src/Ice/Instance.js b/js/src/Ice/Instance.js index 7a87146a74e..c8cd21abc2d 100644 --- a/js/src/Ice/Instance.js +++ b/js/src/Ice/Instance.js @@ -21,7 +21,7 @@ Ice.__M.require(module, "../Ice/LocatorManager", "../Ice/Logger", "../Ice/ObjectAdapterFactory", - "../Ice/ObjectFactoryManager", + "../Ice/ValueFactoryManager", "../Ice/OutgoingConnectionFactory", "../Ice/Promise", "../Ice/Properties", @@ -52,7 +52,7 @@ var ImplicitContextI = Ice.ImplicitContextI; var LocatorManager = Ice.LocatorManager; var Logger = Ice.Logger; var ObjectAdapterFactory = Ice.ObjectAdapterFactory; -var ObjectFactoryManager = Ice.ObjectFactoryManager; +var ValueFactoryManager = Ice.ValueFactoryManager; var OutgoingConnectionFactory = Ice.OutgoingConnectionFactory; var Promise = Ice.Promise; var Properties = Ice.Properties; @@ -381,7 +381,7 @@ var Instance = Ice.Class({ this._endpointFactoryManager.add(wssEndpointFactory); this._outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this); - this._servantFactoryManager = new ObjectFactoryManager(); + this._servantFactoryManager = new ValueFactoryManager(); this._objectAdapterFactory = new ObjectAdapterFactory(this, communicator); diff --git a/csharp/test/Ice/exceptions/ObjectFactoryI.cs b/js/src/Ice/ValueFactory.js index fdada7ebf07..ebea4cbfd40 100644 --- a/csharp/test/Ice/exceptions/ObjectFactoryI.cs +++ b/js/src/Ice/ValueFactory.js @@ -7,14 +7,11 @@ // // ********************************************************************** -public sealed class ObjectFactoryI : Ice.ObjectFactory -{ - public Ice.Object create(string s) +var Ice = require("../Ice/Class").Ice; +Ice.ValueFactory = Ice.Class({ + create: function(type) { - return null; + throw new Error("not implemented"); } - - public void destroy() - { - } -} +}); +module.exports.Ice = Ice; diff --git a/js/src/Ice/ObjectFactoryManager.js b/js/src/Ice/ValueFactoryManager.js index 0036e6b09ec..55efddf9fea 100644 --- a/js/src/Ice/ObjectFactoryManager.js +++ b/js/src/Ice/ValueFactoryManager.js @@ -9,7 +9,7 @@ var Ice = require("../Ice/ModuleRegistry").Ice; Ice.__M.require(module, ["../Ice/Class", "../Ice/HashMap", "../Ice/LocalException"]); - + var HashMap = Ice.HashMap; var AlreadyRegisteredException = Ice.AlreadyRegisteredException; var NotRegisteredException = Ice.NotRegisteredException; @@ -17,10 +17,11 @@ var NotRegisteredException = Ice.NotRegisteredException; // // Only for use by Instance // -var ObjectFactoryManager = Ice.Class({ +var ValueFactoryManager = Ice.Class({ __init__: function() { - this._factoryMap = new HashMap(); // Map<String, ObjectFactory> + this._factoryMap = new HashMap(); // Map<String, ValueFactory> + this._objectFactoryMap = new HashMap(); // Map<String, ObjectFactory> }, add: function(factory, id) { @@ -30,34 +31,39 @@ var ObjectFactoryManager = Ice.Class({ { ex = new AlreadyRegisteredException(); ex.id = id; - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; throw ex; } this._factoryMap.set(id, factory); }, - remove: function(id) + addObjectFactory: function(factory, id) { - var factory, ex; - factory = this._factoryMap.get(id); - if(factory === undefined) + var o, ex; + o = this._factoryMap.get(id); + if(o !== undefined) { - ex = new NotRegisteredException(); + ex = new AlreadyRegisteredException(); ex.id = id; - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; throw ex; } - this._factoryMap.delete(id); - factory.destroy(); + this._factoryMap.set(id, factory); + this._objectFactoryMap.set(id, factory); }, find: function(id) { return this._factoryMap.get(id); }, + findObjectFactory: function(id) + { + return this._objectFactoryMap.get(id); + }, destroy: function() { - var oldMap = this._factoryMap, + var oldMap = this._objectFactoryMap, e = oldMap.entries; - this._factoryMap = new HashMap(); // Map<String, ObjectFactory> + this._factoryMap = new HashMap(); // Map<String, ValueFactory> + this._objectFactoryMap = new HashMap(); // Map<String, ObjectFactory> while(e !== null) { @@ -67,5 +73,5 @@ var ObjectFactoryManager = Ice.Class({ } }); -Ice.ObjectFactoryManager = ObjectFactoryManager; +Ice.ValueFactoryManager = ValueFactoryManager; module.exports.Ice = Ice; diff --git a/js/src/Ice/sources.json b/js/src/Ice/sources.json index 99cf32a9021..cb3387ea16d 100644 --- a/js/src/Ice/sources.json +++ b/js/src/Ice/sources.json @@ -65,7 +65,6 @@ "ObjectAdapterFactory.js", "ObjectAdapterI.js", "ObjectFactory.js", - "ObjectFactoryManager.js", "ObjectPrx.js", "OpaqueEndpointI.js", "Operation.js", @@ -99,6 +98,8 @@ "TraceUtil.js", "UnknownSlicedObject.js", "UUID.js", + "ValueFactory.js", + "ValueFactoryManager.js", "WSEndpoint.js", "WSEndpointFactory.js"], diff --git a/js/test/Ice/exceptions/Client.js b/js/test/Ice/exceptions/Client.js index eeded84d58b..53cad9d2f27 100644 --- a/js/test/Ice/exceptions/Client.js +++ b/js/test/Ice/exceptions/Client.js @@ -40,19 +40,15 @@ { }; - var ObjectFactoryI = function() + var ValueFactoryI = function() { }; - ObjectFactoryI.prototype.create = function(type) + ValueFactoryI.prototype.create = function(type) { return null; }; - ObjectFactoryI.prototype.destroy = function() - { - }; - var p = new Ice.Promise(); var test = function(b) { @@ -235,12 +231,12 @@ ).then( function() { - out.write("testing object factory registration exception... "); - var of = new ObjectFactoryI(); - communicator.addObjectFactory(of, "::x"); + out.write("testing value factory registration exception... "); + var vf = new ValueFactoryI(); + communicator.addValueFactory(vf, "::x"); try { - communicator.addObjectFactory(of, "::x"); + communicator.addValueFactory(vf, "::x"); test(false); } catch(ex) diff --git a/js/test/Ice/objects/Client.js b/js/test/Ice/objects/Client.js index c67ed7bb28a..db27ce73e71 100644 --- a/js/test/Ice/objects/Client.js +++ b/js/test/Ice/objects/Client.js @@ -136,16 +136,16 @@ JI.prototype = new Test.J(); JI.prototype.constructor = JI; - var MyObjectFactory = function() + var MyValueFactory = function() { - Ice.ObjectFactory.call(this); + Ice.ValueFactory.call(this); }; - MyObjectFactory.prototype = new Ice.ObjectFactory(); + MyValueFactory.prototype = new Ice.ValueFactory(); - MyObjectFactory.prototype.constructor = MyObjectFactory; + MyValueFactory.prototype.constructor = MyValueFactory; - MyObjectFactory.prototype.create = function(type) + MyValueFactory.prototype.create = function(type) { switch(type) { @@ -175,6 +175,20 @@ return null; }; + var MyObjectFactory = function() + { + Ice.ObjectFactory.call(this); + }; + + MyObjectFactory.prototype = new Ice.ObjectFactory(); + + MyObjectFactory.prototype.constructor = MyObjectFactory; + + MyObjectFactory.prototype.create = function(type) + { + return null; + }; + MyObjectFactory.prototype.destroy = function() { }; @@ -203,17 +217,19 @@ Promise.try( function() { - var factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::B"); - communicator.addObjectFactory(factory, "::Test::C"); - communicator.addObjectFactory(factory, "::Test::D"); - communicator.addObjectFactory(factory, "::Test::E"); - communicator.addObjectFactory(factory, "::Test::F"); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); - communicator.addObjectFactory(factory, "::Test::Inner::A"); - communicator.addObjectFactory(factory, "::Test::Inner::Sub::A"); + var factory = new MyValueFactory(); + communicator.addValueFactory(factory, "::Test::B"); + communicator.addValueFactory(factory, "::Test::C"); + communicator.addValueFactory(factory, "::Test::D"); + communicator.addValueFactory(factory, "::Test::E"); + communicator.addValueFactory(factory, "::Test::F"); + communicator.addValueFactory(factory, "::Test::I"); + communicator.addValueFactory(factory, "::Test::J"); + communicator.addValueFactory(factory, "::Test::H"); + communicator.addValueFactory(factory, "::Test::Inner::A"); + communicator.addValueFactory(factory, "::Test::Inner::Sub::A"); + + communicator.addObjectFactory(new MyObjectFactory(), "TestOF"); out.write("testing stringToProxy... "); ref = "initial:default -p 12010"; @@ -508,6 +524,14 @@ { test(ex.reason == "Inner::Sub::Ex"); out.writeLine("ok"); + + out.write("testing getting ObjectFactory... "); + test(communicator.findObjectFactory("TestOF") !== null); + out.writeLine("ok"); + out.write("testing getting ObjectFactory as ValueFactory... "); + test(communicator.findValueFactory("TestOF") !== null); + out.writeLine("ok"); + return initial.shutdown(); } ).then( diff --git a/js/test/Ice/slicing/objects/Client.js b/js/test/Ice/slicing/objects/Client.js index df5a684561e..7c9dae3b081 100644 --- a/js/test/Ice/slicing/objects/Client.js +++ b/js/test/Ice/slicing/objects/Client.js @@ -24,7 +24,7 @@ } }); - var PreservedFactoryI = Ice.Class(Ice.ObjectFactory, + var PreservedFactoryI = Ice.Class(Ice.ValueFactory, { create: function(id) { @@ -33,9 +33,6 @@ return new PreservedI(); } return null; - }, - destroy: function() - { } }); @@ -140,7 +137,7 @@ function(ex) { test(ex instanceof Ice.OperationNotExistException || - ex instanceof Ice.NoObjectFactoryException); + ex instanceof Ice.NoValueFactoryException); }); } } @@ -161,7 +158,7 @@ }, function(ex) { - test(ex instanceof Ice.NoObjectFactoryException); + test(ex instanceof Ice.NoValueFactoryException); test(prx.ice_getEncodingVersion().equals(Ice.Encoding_1_0)); } ).then( @@ -682,7 +679,7 @@ // the Ice run time will install its own internal factory for Preserved upon receiving the // first instance. // - communicator.addObjectFactory(new PreservedFactoryI(), Test.Preserved.ice_staticId()); + communicator.addValueFactory(new PreservedFactoryI(), Test.Preserved.ice_staticId()); // // Server knows the most-derived class PDerived. diff --git a/objective-c/include/objc/Ice/ObjectFactory.h b/objective-c/include/objc/Ice/ObjectFactory.h index 8463e895780..31c0b4ff72d 100644 --- a/objective-c/include/objc/Ice/ObjectFactory.h +++ b/objective-c/include/objc/Ice/ObjectFactory.h @@ -13,4 +13,3 @@ ICE_API @protocol ICEObjectFactory <NSObject> -(ICEObject*) create:(NSString*)sliceId NS_RETURNS_RETAINED; -(void) destroy; @end - diff --git a/objective-c/include/objc/Ice/ValueFactory.h b/objective-c/include/objc/Ice/ValueFactory.h new file mode 100644 index 00000000000..57fa2c25b42 --- /dev/null +++ b/objective-c/include/objc/Ice/ValueFactory.h @@ -0,0 +1,14 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#import <objc/Ice/Config.h> + +ICE_API @protocol ICEValueFactory <NSObject> +-(ICEObject*) create:(NSString*)sliceId NS_RETURNS_RETAINED; +@end diff --git a/objective-c/src/Ice/CommunicatorI.h b/objective-c/src/Ice/CommunicatorI.h index e900d52601b..f1900a4f0e9 100644 --- a/objective-c/src/Ice/CommunicatorI.h +++ b/objective-c/src/Ice/CommunicatorI.h @@ -19,6 +19,7 @@ @interface ICECommunicator : ICELocalObject<ICECommunicator> { + NSMutableDictionary* valueFactories_; NSMutableDictionary* objectFactories_; NSDictionary* prefixTable_; NSMutableDictionary* adminFacets_; diff --git a/objective-c/src/Ice/CommunicatorI.mm b/objective-c/src/Ice/CommunicatorI.mm index 6b19bbc862a..26f70c46522 100644 --- a/objective-c/src/Ice/CommunicatorI.mm +++ b/objective-c/src/Ice/CommunicatorI.mm @@ -24,10 +24,12 @@ #include <Ice/Router.h> #include <Ice/Locator.h> #include <Ice/ObjectFactory.h> +#include <Ice/ValueFactory.h> #import <objc/Ice/Router.h> #import <objc/Ice/Locator.h> #import <objc/Ice/ObjectFactory.h> +#import <objc/Ice/ValueFactory.h> #import <objc/runtime.h> @@ -36,7 +38,7 @@ namespace IceObjC { -class UnknownSlicedObjectFactoryI : public Ice::ObjectFactory +class UnknownSlicedValueFactoryI : public Ice::ValueFactory { public: @@ -45,30 +47,25 @@ public: { ICEUnknownSlicedObject* obj = [[ICEUnknownSlicedObject alloc] init]; Ice::ObjectPtr o = [ICEInputStream createObjectReader:obj]; - [obj release]; + [obj release]; return o; } - - virtual void - destroy() - { - } }; -class ObjectFactoryI : public Ice::ObjectFactory +class ValueFactoryI : public Ice::ValueFactory { public: // We must explicitely CFRetain/CFRelease so that the garbage // collector does not trash the dictionaries. - ObjectFactoryI(NSDictionary* factories, NSDictionary* prefixTable) : + ValueFactoryI(NSDictionary* factories, NSDictionary* prefixTable) : _factories(factories), _prefixTable(prefixTable) { CFRetain(_factories); CFRetain(_prefixTable); } - ~ObjectFactoryI() + ~ValueFactoryI() { CFRelease(_factories); CFRelease(_prefixTable); @@ -102,7 +99,7 @@ public: Class c = objc_lookUpClass(tId.c_str()); if(c == nil) { - return 0; // No object factory. + return 0; // No value factory. } if([c isSubclassOfClass:[ICEObject class]]) { @@ -114,7 +111,7 @@ public: if(obj != nil) { o = [ICEInputStream createObjectReader:obj]; - [obj release]; + [obj release]; } return o; } @@ -129,17 +126,8 @@ public: return nil; // Keep the compiler happy. } - virtual void - destroy() - { - for(NSString* k in _factories) - { - [[_factories objectForKey:k] destroy]; - } - } - private: - + NSDictionary* _factories; NSDictionary* _prefixTable; }; @@ -175,6 +163,7 @@ private: @implementation ICECommunicator -(void)setup:(NSDictionary*)prefixTable { + valueFactories_ = [[NSMutableDictionary alloc] init]; objectFactories_ = [[NSMutableDictionary alloc] init]; if(prefixTable) { @@ -185,12 +174,13 @@ private: prefixTable_ = [ICEInternalPrefixTable newPrefixTable]; } adminFacets_ = [[NSMutableDictionary alloc] init]; - COMMUNICATOR->addObjectFactory(new IceObjC::UnknownSlicedObjectFactoryI, "::Ice::Object"); - COMMUNICATOR->addObjectFactory(new IceObjC::ObjectFactoryI(objectFactories_, prefixTable_), ""); + COMMUNICATOR->addValueFactory(new IceObjC::UnknownSlicedValueFactoryI, "::Ice::Object"); + COMMUNICATOR->addValueFactory(new IceObjC::ValueFactoryI(valueFactories_, prefixTable_), ""); } -(void) dealloc { [prefixTable_ release]; + [valueFactories_ release]; [objectFactories_ release]; [adminFacets_ release]; [super dealloc]; @@ -329,7 +319,7 @@ private: NSException* nsex = nil; try { - return [toNSDictionary(COMMUNICATOR->proxyToProperty([(ICEObjectPrx*)prx objectPrx__], + return [toNSDictionary(COMMUNICATOR->proxyToProperty([(ICEObjectPrx*)prx objectPrx__], fromNSString(property))) autorelease]; } catch(const std::exception& ex) @@ -426,20 +416,37 @@ private: } -(void) addObjectFactory:(id<ICEObjectFactory>)factory sliceId:(NSString*)sliceId { - @synchronized(objectFactories_) + @synchronized(valueFactories_) { [objectFactories_ setObject:factory forKey:sliceId]; + [valueFactories_ setObject:factory forKey:sliceId]; } } -(id<ICEObjectFactory>) findObjectFactory:(NSString*)sliceId { - @synchronized(objectFactories_) + @synchronized(valueFactories_) { return [objectFactories_ objectForKey:sliceId]; } return nil; // Keep the compiler happy. } +-(void) addValueFactory:(id<ICEValueFactory>)factory sliceId:(NSString*)sliceId +{ + @synchronized(valueFactories_) + { + [valueFactories_ setObject:factory forKey:sliceId]; + } +} +-(id<ICEValueFactory>) findValueFactory:(NSString*)sliceId +{ + @synchronized(valueFactories_) + { + return [valueFactories_ objectForKey:sliceId]; + } + return nil; // Keep the compiler happy. +} + -(id<ICEImplicitContext>) getImplicitContext { return [ICEImplicitContext implicitContextWithImplicitContext:COMMUNICATOR->getImplicitContext().get()]; @@ -566,21 +573,21 @@ private: } -(id<ICEAsyncResult>) begin_flushBatchRequests { - return beginCppCall(^(Ice::AsyncResultPtr& result) + return beginCppCall(^(Ice::AsyncResultPtr& result) { - result = COMMUNICATOR->begin_flushBatchRequests(); + result = COMMUNICATOR->begin_flushBatchRequests(); }); } -(id<ICEAsyncResult>) begin_flushBatchRequests:(void(^)(ICEException*))exception { return [self begin_flushBatchRequests:exception sent:nil]; } --(id<ICEAsyncResult>) begin_flushBatchRequests:(void(^)(ICEException*))exception sent:(void(^)(BOOL))sent +-(id<ICEAsyncResult>) begin_flushBatchRequests:(void(^)(ICEException*))exception sent:(void(^)(BOOL))sent { - return beginCppCall(^(Ice::AsyncResultPtr& result, const Ice::CallbackPtr& cb) + return beginCppCall(^(Ice::AsyncResultPtr& result, const Ice::CallbackPtr& cb) { - result = COMMUNICATOR->begin_flushBatchRequests(cb); - }, + result = COMMUNICATOR->begin_flushBatchRequests(cb); + }, ^(const Ice::AsyncResultPtr& result) { COMMUNICATOR->end_flushBatchRequests(result); }, @@ -588,9 +595,9 @@ private: } -(void) end_flushBatchRequests:(id<ICEAsyncResult>)result { - endCppCall(^(const Ice::AsyncResultPtr& r) + endCppCall(^(const Ice::AsyncResultPtr& r) { - COMMUNICATOR->end_flushBatchRequests(r); + COMMUNICATOR->end_flushBatchRequests(r); }, result); } -(id<ICEObjectPrx>) createAdmin:(id<ICEObjectAdapter>)adapter adminId:(ICEIdentity*)adminId diff --git a/objective-c/src/Ice/Exception.mm b/objective-c/src/Ice/Exception.mm index 97f265c407d..ba26db145cc 100644 --- a/objective-c/src/Ice/Exception.mm +++ b/objective-c/src/Ice/Exception.mm @@ -864,7 +864,7 @@ localExceptionToString(const Ice::LocalException& ex) } @end -@implementation ICENoObjectFactoryException (ICEInternal) +@implementation ICENoValueFactoryException (ICEInternal) -(id)initWithLocalException:(const Ice::LocalException&)ex { self = [super initWithLocalException:ex]; @@ -872,14 +872,14 @@ localExceptionToString(const Ice::LocalException& ex) { return nil; } - NSAssert(dynamic_cast<const Ice::NoObjectFactoryException*>(&ex), @"invalid local exception type"); - const Ice::NoObjectFactoryException& localEx = dynamic_cast<const Ice::NoObjectFactoryException&>(ex); + NSAssert(dynamic_cast<const Ice::NoValueFactoryException*>(&ex), @"invalid local exception type"); + const Ice::NoValueFactoryException& localEx = dynamic_cast<const Ice::NoValueFactoryException&>(ex); type = toNSString(localEx.type); return self; } -(void) rethrowCxx { - throw Ice::NoObjectFactoryException(file, line, fromNSString([self reason_]), fromNSString(type)); + throw Ice::NoValueFactoryException(file, line, fromNSString([self reason_]), fromNSString(type)); } @end diff --git a/objective-c/src/Ice/Makefile b/objective-c/src/Ice/Makefile index 4d1c8f92c92..cd1c5e0b9fc 100644 --- a/objective-c/src/Ice/Makefile +++ b/objective-c/src/Ice/Makefile @@ -122,6 +122,8 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME) $(HDIR)/ObjectFactory.h ObjectFactory.m: @echo +$(HDIR)/ValueFactory.h ValueFactory.m: + @echo install:: all $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME)) diff --git a/objective-c/test/Ice/objects/AllTests.m b/objective-c/test/Ice/objects/AllTests.m index 47c9e574d91..4c296575049 100644 --- a/objective-c/test/Ice/objects/AllTests.m +++ b/objective-c/test/Ice/objects/AllTests.m @@ -510,5 +510,15 @@ objectsAllTests(id<ICECommunicator> communicator, BOOL collocated) tprintf("ok\n"); } + { + tprintf("testing getting ObjectFactory... "); + test([communicator findObjectFactory:@"TestOF"] != nil); + tprintf("ok\n"); + + tprintf("testing getting ObjectFactory as ValueFactory... "); + test([communicator findValueFactory:@"TestOF"] != nil); + tprintf("ok\n"); + } + return initial; } diff --git a/objective-c/test/Ice/objects/Client.m b/objective-c/test/Ice/objects/Client.m index aeabb134b02..7e99482fa53 100644 --- a/objective-c/test/Ice/objects/Client.m +++ b/objective-c/test/Ice/objects/Client.m @@ -15,10 +15,10 @@ # import <Foundation/NSGarbageCollector.h> #endif -@interface ClientMyObjectFactory : NSObject<ICEObjectFactory> +@interface ClientMyValueFactory : NSObject<ICEValueFactory> @end -@implementation ClientMyObjectFactory +@implementation ClientMyValueFactory // Note that the object factory must not autorelease the // returned objects. @@ -62,6 +62,17 @@ } return nil; } +@end + +@interface ClientMyObjectFactory : NSObject<ICEObjectFactory> +@end + +@implementation ClientMyObjectFactory + +-(ICEObject*) create:(NSString*)type +{ + return nil; +} -(void) destroy { @@ -72,16 +83,19 @@ static int run(id<ICECommunicator> communicator) { - id<ICEObjectFactory> factory = ICE_AUTORELEASE([[ClientMyObjectFactory alloc] init]); - - [communicator addObjectFactory:factory sliceId:@"::Test::B"]; - [communicator addObjectFactory:factory sliceId:@"::Test::C"]; - [communicator addObjectFactory:factory sliceId:@"::Test::D"]; - [communicator addObjectFactory:factory sliceId:@"::Test::E"]; - [communicator addObjectFactory:factory sliceId:@"::Test::F"]; - [communicator addObjectFactory:factory sliceId:@"::Test::I"]; - [communicator addObjectFactory:factory sliceId:@"::Test::J"]; - [communicator addObjectFactory:factory sliceId:@"::Test::H"]; + id<ICEValueFactory> factory = ICE_AUTORELEASE([[ClientMyValueFactory alloc] init]); + + [communicator addValueFactory:factory sliceId:@"::Test::B"]; + [communicator addValueFactory:factory sliceId:@"::Test::C"]; + [communicator addValueFactory:factory sliceId:@"::Test::D"]; + [communicator addValueFactory:factory sliceId:@"::Test::E"]; + [communicator addValueFactory:factory sliceId:@"::Test::F"]; + [communicator addValueFactory:factory sliceId:@"::Test::I"]; + [communicator addValueFactory:factory sliceId:@"::Test::J"]; + [communicator addValueFactory:factory sliceId:@"::Test::H"]; + + id<ICEObjectFactory> objectFactory = ICE_AUTORELEASE([[ClientMyObjectFactory alloc] init]); + [communicator addObjectFactory:objectFactory sliceId:@"TestOF" ]; id<TestObjectsInitialPrx> objectsAllTests(id<ICECommunicator>, bool); id<TestObjectsInitialPrx> initial = objectsAllTests(communicator, NO); diff --git a/objective-c/test/Ice/objects/Collocated.m b/objective-c/test/Ice/objects/Collocated.m index 1506c1c3293..c43e5f47560 100644 --- a/objective-c/test/Ice/objects/Collocated.m +++ b/objective-c/test/Ice/objects/Collocated.m @@ -11,10 +11,10 @@ #import <TestCommon.h> #import <objects/TestI.h> -@interface CollocatedMyObjectFactory : NSObject<ICEObjectFactory> +@interface CollocatedMyValueFactory : NSObject<ICEValueFactory> @end -@implementation CollocatedMyObjectFactory +@implementation CollocatedMyValueFactory // Note that the object factory must not autorelease the // returned objects. @@ -58,6 +58,17 @@ } return nil; } +@end + +@interface ClientMyObjectFactory : NSObject<ICEObjectFactory> +@end + +@implementation ClientMyObjectFactory + +-(ICEObject*) create:(NSString*)type +{ + return nil; +} -(void) destroy { @@ -68,16 +79,19 @@ static int run(id<ICECommunicator> communicator) { - id<ICEObjectFactory> factory = ICE_AUTORELEASE([[CollocatedMyObjectFactory alloc] init]); - - [communicator addObjectFactory:factory sliceId:@"::Test::B"]; - [communicator addObjectFactory:factory sliceId:@"::Test::C"]; - [communicator addObjectFactory:factory sliceId:@"::Test::D"]; - [communicator addObjectFactory:factory sliceId:@"::Test::E"]; - [communicator addObjectFactory:factory sliceId:@"::Test::F"]; - [communicator addObjectFactory:factory sliceId:@"::Test::I"]; - [communicator addObjectFactory:factory sliceId:@"::Test::J"]; - [communicator addObjectFactory:factory sliceId:@"::Test::H"]; + id<ICEValueFactory> factory = ICE_AUTORELEASE([[CollocatedMyValueFactory alloc] init]); + + [communicator addValueFactory:factory sliceId:@"::Test::B"]; + [communicator addValueFactory:factory sliceId:@"::Test::C"]; + [communicator addValueFactory:factory sliceId:@"::Test::D"]; + [communicator addValueFactory:factory sliceId:@"::Test::E"]; + [communicator addValueFactory:factory sliceId:@"::Test::F"]; + [communicator addValueFactory:factory sliceId:@"::Test::I"]; + [communicator addValueFactory:factory sliceId:@"::Test::J"]; + [communicator addValueFactory:factory sliceId:@"::Test::H"]; + + id<ICEObjectFactory> objectFactory = ICE_AUTORELEASE([[ClientMyObjectFactory alloc] init]); + [communicator addObjectFactory:objectFactory sliceId:@"TestOF" ]; [[communicator getProperties] setProperty:@"TestAdapter.Endpoints" value:@"default -p 12010"]; id<ICEObjectAdapter> adapter = [communicator createObjectAdapter:@"TestAdapter"]; diff --git a/objective-c/test/Ice/objects/Server.m b/objective-c/test/Ice/objects/Server.m index a8431a61509..006b7653ece 100644 --- a/objective-c/test/Ice/objects/Server.m +++ b/objective-c/test/Ice/objects/Server.m @@ -11,10 +11,10 @@ #import <TestCommon.h> #import <objects/TestI.h> -@interface ServerMyObjectFactory : NSObject<ICEObjectFactory> +@interface ServerMyValueFactory : NSObject<ICEValueFactory> @end -@implementation ServerMyObjectFactory +@implementation ServerMyValueFactory // Note that the object factory must not autorelease the // returned objects. -(ICEObject*) create:(NSString*)type @@ -47,11 +47,11 @@ static int run(id<ICECommunicator> communicator) { - id<ICEObjectFactory> factory = ICE_AUTORELEASE([[ServerMyObjectFactory alloc] init]); + id<ICEValueFactory> factory = ICE_AUTORELEASE([[ServerMyValueFactory alloc] init]); - [communicator addObjectFactory:factory sliceId:@"::Test::I"]; - [communicator addObjectFactory:factory sliceId:@"::Test::J"]; - [communicator addObjectFactory:factory sliceId:@"::Test::H"]; + [communicator addValueFactory:factory sliceId:@"::Test::I"]; + [communicator addValueFactory:factory sliceId:@"::Test::J"]; + [communicator addValueFactory:factory sliceId:@"::Test::H"]; [[communicator getProperties] setProperty:@"TestAdapter.Endpoints" value:@"default -p 12010"]; id<ICEObjectAdapter> adapter = [communicator createObjectAdapter:@"TestAdapter"]; diff --git a/objective-c/test/Ice/optional/AllTests.m b/objective-c/test/Ice/optional/AllTests.m index 8e26cfeb270..573d49fb029 100644 --- a/objective-c/test/Ice/optional/AllTests.m +++ b/objective-c/test/Ice/optional/AllTests.m @@ -212,7 +212,7 @@ } @end -@interface FactoryI : NSObject<ICEObjectFactory> +@interface FactoryI : NSObject<ICEValueFactory> { BOOL enabled_; } @@ -267,9 +267,6 @@ return nil; } --(void) destroy -{ -} -(void) setEnabled:(BOOL)enabled { self->enabled_ = enabled; @@ -280,7 +277,7 @@ id<TestOptionalInitialPrx> optionalAllTests(id<ICECommunicator> communicator) { FactoryI* factory = [FactoryI factoryI]; - [communicator addObjectFactory:factory sliceId:@""]; + [communicator addValueFactory:factory sliceId:@""]; tprintf("testing stringToProxy... "); NSString* sref = @"initial:default -p 12010"; diff --git a/objective-c/test/Ice/slicing/objects/AllTests.m b/objective-c/test/Ice/slicing/objects/AllTests.m index 979c9f11e73..7118b968a9b 100644 --- a/objective-c/test/Ice/slicing/objects/AllTests.m +++ b/objective-c/test/Ice/slicing/objects/AllTests.m @@ -139,7 +139,7 @@ -(void) SBSUnknownDerivedAsSBaseCompactException:(ICEException*)exc { - test([[exc ice_name] isEqualToString:@"Ice::NoObjectFactoryException"]); + test([[exc ice_name] isEqualToString:@"Ice::NoValueFactoryException"]); [self called]; } @@ -150,7 +150,7 @@ -(void) SUnknownAsObjectException10:(ICEException*)exc { - test([[exc ice_name] isEqualToString:@"Ice::NoObjectFactoryException"]); + test([[exc ice_name] isEqualToString:@"Ice::NoValueFactoryException"]); [self called]; } @@ -728,7 +728,7 @@ slicingObjectsAllTests(id<ICECommunicator> communicator) @catch(const ICEOperationNotExistException*) { } - @catch(const ICENoObjectFactoryException*) + @catch(const ICENoValueFactoryException*) { // Expected. } @@ -778,7 +778,7 @@ slicingObjectsAllTests(id<ICECommunicator> communicator) test([[((ICEUnknownSlicedObject*)o) getUnknownTypeId] isEqualToString:@"::Test::SUnknown"]); [test checkSUnknown:o]; } - @catch(ICENoObjectFactoryException*) + @catch(ICENoValueFactoryException*) { test([[test ice_getEncodingVersion] isEqual:ICEEncoding_1_0]); } diff --git a/objective-c/test/Ice/stream/Client.m b/objective-c/test/Ice/stream/Client.m index 415d113787e..a05ca4ecf9c 100644 --- a/objective-c/test/Ice/stream/Client.m +++ b/objective-c/test/Ice/stream/Client.m @@ -22,7 +22,7 @@ run(id<ICECommunicator> communicator) // Test the stream api. // tprintf("testing primitive types... "); - + { NSData* byte = [NSData data]; in = [ICEUtil createInputStream:communicator data:byte]; @@ -144,9 +144,9 @@ run(id<ICECommunicator> communicator) } tprintf("ok\n"); - + tprintf("testing constructed types... "); - + { out = [ICEUtil createOutputStream:communicator]; [TestStreamMyEnumHelper write:@(TestStreamenum3) stream:out]; @@ -537,7 +537,7 @@ run(id<ICECommunicator> communicator) ICEDouble doubleS[] = { 1, 2, 3, 4 }; c.seq7 = [NSMutableData dataWithBytes:doubleS length:sizeof(doubleS)]; - + c.seq8 = [ICEMutableStringSeq array]; [(ICEMutableStringSeq*)c.seq8 addObject:@"string1"]; [(ICEMutableStringSeq*)c.seq8 addObject:@"string2"]; @@ -546,7 +546,7 @@ run(id<ICECommunicator> communicator) TestStreamMyEnum enumS[] = { TestStreamenum3, TestStreamenum2, TestStreamenum1 }; c.seq9 = [NSMutableData dataWithBytes:enumS length:sizeof(enumS)]; - + c.d = [NSDictionary dictionaryWithObject:[TestStreamMyClass myClass] forKey:@"hi"]; [arr addObject:c]; } @@ -583,7 +583,7 @@ run(id<ICECommunicator> communicator) f.c = nil; f.o = nil; } - + TestStreamMutableMyClassSS* arrS = [TestStreamMutableMyClassSS array]; [arrS addObject:arr]; [arrS addObject:[TestStreamMyClassS array]]; @@ -677,7 +677,7 @@ run(id<ICECommunicator> communicator) ICEDouble doubleS[] = { 1, 2, 3, 4 }; c.seq7 = [NSMutableData dataWithBytes:doubleS length:sizeof(doubleS)]; - + c.seq8 = [ICEMutableStringSeq array]; [(ICEMutableStringSeq*)c.seq8 addObject:@"string1"]; [(ICEMutableStringSeq*)c.seq8 addObject:@"string2"]; @@ -686,7 +686,7 @@ run(id<ICECommunicator> communicator) TestStreamMyEnum enumS[] = { TestStreamenum3, TestStreamenum2, TestStreamenum1 }; c.seq9 = [NSMutableData dataWithBytes:enumS length:sizeof(enumS)]; - + c.d = [NSDictionary dictionaryWithObject:[TestStreamMyClass myClass] forKey:@"hi"]; ex.c = c; @@ -790,11 +790,11 @@ run(id<ICECommunicator> communicator) TestStreamStringMyClassD* dict2 = [TestStreamStringMyClassDHelper read:in]; [in readPendingObjects]; test([dict2 count] == [dict count]); - test([dict2 objectForKey:@"key1"] != nil && + test([dict2 objectForKey:@"key1"] != nil && ((TestStreamMyClass*)[dict2 objectForKey:@"key1"]).s.e == TestStreamenum2); - test([dict2 objectForKey:@"key2"] != nil && + test([dict2 objectForKey:@"key2"] != nil && ((TestStreamMyClass*)[dict2 objectForKey:@"key2"]).s.e == TestStreamenum3); - + } { @@ -937,10 +937,10 @@ main(int argc, char* argv[]) initData.properties = defaultClientProperties(&argc, argv); #if TARGET_OS_IPHONE initData.prefixTable__ = [NSDictionary dictionaryWithObjectsAndKeys: - @"TestStream", @"::Test", - @"TestStreamSub", @"::Test::Sub", - @"TestStream2", @"::Test2", - @"TestStream2Sub2", @"::Test2::Sub2", + @"TestStream", @"::Test", + @"TestStreamSub", @"::Test::Sub", + @"TestStream2", @"::Test2", + @"TestStream2Sub2", @"::Test2::Sub2", nil]; #endif communicator = [ICEUtil createCommunicator:&argc argv:argv initData:initData]; diff --git a/php/lib/Ice.php b/php/lib/Ice.php index bab957ad054..8c7ced4feec 100644 --- a/php/lib/Ice.php +++ b/php/lib/Ice.php @@ -128,6 +128,11 @@ interface Ice_ObjectFactory public function destroy(); } +interface Ice_ValueFactory +{ + public function create($id); +} + class Ice_InitializationData { public function __construct($properties=null, $logger=null) @@ -170,6 +175,7 @@ require_once 'Ice/EndpointTypes.php'; require_once 'Ice/LocalException.php'; require_once 'Ice/Locator.php'; require_once 'Ice/ObjectFactory.php'; +require_once 'Ice/ValueFactory.php'; require_once 'Ice/Process.php'; require_once 'Ice/Router.php'; require_once 'Ice/Version.php'; diff --git a/php/lib/Ice_ns.php b/php/lib/Ice_ns.php index e52e3bee4e0..90234ed5691 100644 --- a/php/lib/Ice_ns.php +++ b/php/lib/Ice_ns.php @@ -133,6 +133,11 @@ namespace Ice public function destroy(); } + interface VaueFactory + { + public function create($id); + } + class InitializationData { public function __construct($properties=null, $logger=null) @@ -178,6 +183,7 @@ require_once 'Ice/EndpointTypes.php'; require_once 'Ice/LocalException.php'; require_once 'Ice/Locator.php'; require_once 'Ice/ObjectFactory.php'; +require_once 'Ice/ValueFactory.php'; require_once 'Ice/Process.php'; require_once 'Ice/Router.php'; require_once 'Ice/Version.php'; diff --git a/php/lib/Makefile b/php/lib/Makefile index 6c5ecbeed22..6896425aa51 100644 --- a/php/lib/Makefile +++ b/php/lib/Makefile @@ -48,7 +48,8 @@ ICE_SRCS = Ice/LocalException.php \ Ice/Version.php \ Ice/InstrumentationF.php \ Ice/Instrumentation.php \ - Ice/Metrics.php + Ice/Metrics.php \ + Ice/ValueFactory.php # # IMPORTANT: If you add or remove Slice files, you also need to check Glacier2.php! @@ -115,7 +116,7 @@ endif all:: $(ALL_SRCS) -SLICE2PHPFLAGS += --ice +SLICE2PHPFLAGS += --ice Ice/%.php: $(slicedir)/Ice/%.ice $(SLICE2PHP) $(SLICEPARSERLIB) @mkdir -p $(notdir $(<D)) diff --git a/php/lib/Makefile.mak b/php/lib/Makefile.mak index ec9fe5e3701..565af1f6840 100644 --- a/php/lib/Makefile.mak +++ b/php/lib/Makefile.mak @@ -48,7 +48,8 @@ ICE_SRCS = Ice\LocalException.php \ Ice\Version.php \ Ice\InstrumentationF.php \ Ice\Instrumentation.php \ - Ice\Metrics.php + Ice\Metrics.php \ + Ice\ValueFactory.php # # IMPORTANT: If you add or remove Slice files, you also need to check Glacier2.php! diff --git a/php/src/IcePHP/Communicator.cpp b/php/src/IcePHP/Communicator.cpp index e0c7394a73b..f72e8740fc7 100644 --- a/php/src/IcePHP/Communicator.cpp +++ b/php/src/IcePHP/Communicator.cpp @@ -52,6 +52,7 @@ public: typedef IceUtil::Handle<ActiveCommunicator> ActiveCommunicatorPtr; typedef std::map<std::string, zval*> ObjectFactoryMap; +typedef std::map<std::string, zval*> ValueFactoryMap; class CommunicatorInfoI : public CommunicatorInfo { @@ -66,23 +67,29 @@ public: virtual Ice::CommunicatorPtr getCommunicator() const; bool addObjectFactory(const std::string&, zval* TSRMLS_DC); + bool addValueFactory(const std::string&, zval* TSRMLS_DC); + bool findObjectFactory(const std::string&, zval* TSRMLS_DC); + bool findValueFactory(const std::string&, zval* TSRMLS_DC); + void destroyObjectFactories(TSRMLS_D); + void destroyValueFactories(TSRMLS_D); const ActiveCommunicatorPtr ac; const zval zv; ObjectFactoryMap objectFactories; + ValueFactoryMap valueFactories; }; typedef IceUtil::Handle<CommunicatorInfoI> CommunicatorInfoIPtr; // -// Each PHP request has its own set of object factories. More precisely, there is -// an object factory map for each communicator that is created by a PHP request. -// The factory class defined below delegates the create/destroy methods to PHP -// objects supplied by the application. An instance of this class is installed -// as the communicator's default object factory, and the class holds a reference -// to its communicator. When create is invoked, the class resolves the appropriate -// PHP object as follows: +// Each PHP request has its own set of value factories. More precisely, there is +// a value factory map for each communicator that is created by a PHP request. +// The factory class defined below delegates the create (and destory in the case +// of an object factory) methods to PHP objects supplied by the application. +// An instance of this class is installed as the communicator's default object +// factory, and the class holds a reference to its communicator. When create is +// invoked, the class resolves the appropriate PHP object as follows: // // * Using its communicator reference as the key, look up the corresponding // CommunicatorInfoI object in the request-specific communicator map. @@ -90,6 +97,9 @@ typedef IceUtil::Handle<CommunicatorInfoI> CommunicatorInfoIPtr; // * In the object factory map held by the CommunicatorInfoI object, look for a // PHP factory object using the same algorithm as the Ice core. // +// There is also an object factory map. Anything added to this map is also added +// to the value factory map, but not vice versa. +// class ObjectFactoryI : public Ice::ObjectFactory { public: @@ -154,7 +164,7 @@ public: { _registeredCommunicatorsMutex = new IceUtil::Mutex(); } - + ~Init() { delete _registeredCommunicatorsMutex; @@ -195,9 +205,10 @@ ZEND_METHOD(Ice_Communicator, destroy) } // - // We need to destroy any object factories installed by this request. + // We need to destroy any object|value factories installed by this request. // _this->destroyObjectFactories(TSRMLS_C); + _this->destroyValueFactories(TSRMLS_C); Ice::CommunicatorPtr c = _this->getCommunicator(); assert(c); @@ -334,7 +345,7 @@ ZEND_METHOD(Ice_Communicator, proxyToProperty) RETURN_NULL(); } assert(prx); - + Ice::PropertyDict val = _this->getCommunicator()->proxyToProperty(prx, prefix); if(!createStringMap(return_value, val TSRMLS_CC)) { @@ -441,6 +452,35 @@ ZEND_METHOD(Ice_Communicator, addObjectFactory) } } +ZEND_METHOD(Ice_Communicator, addValueFactory) +{ + CommunicatorInfoIPtr _this = Wrapper<CommunicatorInfoIPtr>::value(getThis() TSRMLS_CC); + assert(_this); + + zend_class_entry* factoryClass = idToClass("Ice::ValueFactory" TSRMLS_CC); + assert(factoryClass); + + zval* factory; + char* id; + int idLen; + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("Os!"), &factory, factoryClass, &id, + &idLen TSRMLS_CC) != SUCCESS) + { + RETURN_NULL(); + } + + string type; + if(id) + { + type = string(id, idLen); + } + + if(!_this->addValueFactory(type, factory TSRMLS_CC)) + { + RETURN_NULL(); + } +} + ZEND_METHOD(Ice_Communicator, findObjectFactory) { CommunicatorInfoIPtr _this = Wrapper<CommunicatorInfoIPtr>::value(getThis() TSRMLS_CC); @@ -465,6 +505,30 @@ ZEND_METHOD(Ice_Communicator, findObjectFactory) } } +ZEND_METHOD(Ice_Communicator, findValueFactory) +{ + CommunicatorInfoIPtr _this = Wrapper<CommunicatorInfoIPtr>::value(getThis() TSRMLS_CC); + assert(_this); + + char* id; + int idLen; + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("s!"), &id, &idLen TSRMLS_CC) != SUCCESS) + { + RETURN_NULL(); + } + + string type; + if(id) + { + type = string(id, idLen); + } + + if(!_this->findValueFactory(type, return_value TSRMLS_CC)) + { + RETURN_NULL(); + } +} + ZEND_METHOD(Ice_Communicator, getImplicitContext) { runtimeError("not implemented" TSRMLS_CC); @@ -501,7 +565,7 @@ ZEND_METHOD(Ice_Communicator, getLogger) { WRONG_PARAM_COUNT; } - + CommunicatorInfoIPtr _this = Wrapper<CommunicatorInfoIPtr>::value(getThis() TSRMLS_CC); assert(_this); @@ -1137,6 +1201,8 @@ static zend_function_entry _classMethods[] = ZEND_ME(Ice_Communicator, identityToString, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Communicator, addObjectFactory, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Communicator, findObjectFactory, NULL, ZEND_ACC_PUBLIC) + ZEND_ME(Ice_Communicator, addValueFactory, NULL, ZEND_ACC_PUBLIC) + ZEND_ME(Ice_Communicator, findValueFactory, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Communicator, getImplicitContext, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Communicator, getProperties, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Communicator, getLogger, NULL, ZEND_ACC_PUBLIC) @@ -1449,9 +1515,10 @@ IcePHP::communicatorRequestShutdown(TSRMLS_D) CommunicatorInfoIPtr info = p->second; // - // We need to destroy any object factories installed during this request. + // We need to destroy any object|value factories installed during this request. // info->destroyObjectFactories(TSRMLS_C); + info->destroyValueFactories(TSRMLS_C); } // @@ -1525,7 +1592,7 @@ IcePHP::CommunicatorInfoI::addObjectFactory(const string& id, zval* factory TSRM if(p != objectFactories.end()) { Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; ex.id = id; throwException(ex TSRMLS_CC); return false; @@ -1533,6 +1600,27 @@ IcePHP::CommunicatorInfoI::addObjectFactory(const string& id, zval* factory TSRM objectFactories.insert(ObjectFactoryMap::value_type(id, factory)); Z_ADDREF_P(factory); + valueFactories.insert(ValueFactoryMap::value_type(id, factory)); + Z_ADDREF_P(factory); + + return true; +} + +bool +IcePHP::CommunicatorInfoI::addValueFactory(const string& id, zval* factory TSRMLS_DC) +{ + ObjectFactoryMap::iterator p = valueFactories.find(id); + if(p != valueFactories.end()) + { + Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); + ex.kindOfObject = "value factory"; + ex.id = id; + throwException(ex TSRMLS_CC); + return false; + } + + valueFactories.insert(ValueFactoryMap::value_type(id, factory)); + Z_ADDREF_P(factory); return true; } @@ -1552,6 +1640,21 @@ IcePHP::CommunicatorInfoI::findObjectFactory(const string& id, zval* zv TSRMLS_D return false; } +bool +IcePHP::CommunicatorInfoI::findValueFactory(const string& id, zval* zv TSRMLS_DC) +{ + ValueFactoryMap::iterator p = valueFactories.find(id); + if(p != valueFactories.end()) + { + *zv = *p->second; // This is legal - it simply copies the object's handle. + INIT_PZVAL(zv); + zval_copy_ctor(zv); + return true; + } + + return false; +} + void IcePHP::CommunicatorInfoI::destroyObjectFactories(TSRMLS_D) { @@ -1564,6 +1667,17 @@ IcePHP::CommunicatorInfoI::destroyObjectFactories(TSRMLS_D) zend_clear_exception(TSRMLS_C); zval_ptr_dtor(&p->second); } + valueFactories.clear(); +} + +void +IcePHP::CommunicatorInfoI::destroyValueFactories(TSRMLS_D) +{ + for(ObjectFactoryMap::iterator p = objectFactories.begin(); p != objectFactories.end(); ++p) + { + zval_ptr_dtor(&p->second); + } + objectFactories.clear(); } IcePHP::ObjectFactoryI::ObjectFactoryI(const Ice::CommunicatorPtr& communicator) : @@ -1591,12 +1705,12 @@ IcePHP::ObjectFactoryI::create(const string& id) // // Check if the application has registered a factory for this id. // - ObjectFactoryMap::iterator q = info->objectFactories.find(id); - if(q == info->objectFactories.end()) + ValueFactoryMap::iterator q = info->valueFactories.find(id); + if(q == info->valueFactories.end()) { - q = info->objectFactories.find(""); // Look for a default factory. + q = info->valueFactories.find(""); // Look for a default factory. } - if(q != info->objectFactories.end()) + if(q != info->valueFactories.end()) { factory = q->second; } diff --git a/php/src/IcePHP/Util.cpp b/php/src/IcePHP/Util.cpp index 05aaaa3f6cb..5dbe07c5abc 100644 --- a/php/src/IcePHP/Util.cpp +++ b/php/src/IcePHP/Util.cpp @@ -323,7 +323,7 @@ IcePHP::createStringMap(zval* zv, const map<string, string>& ctx TSRMLS_DC) for(map<string, string>::const_iterator p = ctx.begin(); p != ctx.end(); ++p) { if(add_assoc_stringl_ex(zv, const_cast<char*>(p->first.c_str()), p->first.length() + 1, - const_cast<char*>(p->second.c_str()), + const_cast<char*>(p->second.c_str()), static_cast<uint>(p->second.length()), 1) == FAILURE) { return false; @@ -595,7 +595,7 @@ convertLocalException(const Ice::LocalException& ex, zval* zex TSRMLS_DC) zend_update_property(cls, zex, const_cast<char*>("supported"), sizeof("supported") - 1, v TSRMLS_CC); zval_ptr_dtor(&v); } - catch(const Ice::NoObjectFactoryException& e) + catch(const Ice::NoValueFactoryException& e) { setStringMember(zex, "reason", e.reason TSRMLS_CC); setStringMember(zex, "type", e.type TSRMLS_CC); diff --git a/php/test/Ice/objects/Client.php b/php/test/Ice/objects/Client.php index b57d585093b..d50b0d13c95 100644 --- a/php/test/Ice/objects/Client.php +++ b/php/test/Ice/objects/Client.php @@ -33,6 +33,7 @@ if($NS) class Test_H extends Test\H {} class Ice_ObjectImpl extends Ice\ObjectImpl {} interface Ice_ObjectFactory extends Ice\ObjectFactory {} + interface Ice_ValueFactory extends Ice\ValueFactory {} EOT; eval($code); } @@ -122,7 +123,7 @@ class HI extends Test_H { } -class MyObjectFactory implements Ice_ObjectFactory +class MyValueFactory implements Ice_ValueFactory { function create($id) { @@ -160,9 +161,18 @@ class MyObjectFactory implements Ice_ObjectFactory } return null; } +} + +class MyObjectFactory implements Ice_ObjectFactory +{ + function create($id) + { + return null; + } function destroy() { + // Do nothing } } @@ -346,7 +356,7 @@ function allTests($communicator) $h = $initial->getH(); test($h != null and $h instanceof Test_H); echo "ok\n"; - + echo "getting D1... "; flush(); $d1 = $initial->getD1(new Test_D1(new Test_A1("a1"), new Test_A1("a2"), new Test_A1("a3"), new Test_A1("a4"))); @@ -355,7 +365,7 @@ function allTests($communicator) test($d1->a3->name == "a3"); test($d1->a4->name == "a4"); echo "ok\n"; - + echo "throw EDerived... "; flush(); try @@ -440,19 +450,30 @@ function allTests($communicator) } echo "ok\n"; + echo "testing getting ObjectFactory... "; + flush(); + test($communicator->findObjectFactory("TestOF") != null); + echo "ok\n"; + + echo "testing getting ObjectFactory as ValueFactory... "; + flush(); + test($communicator->findValueFactory("TestOF") != null); + echo "ok\n"; + return $initial; } $communicator = Ice_initialize($argv); -$factory = new MyObjectFactory(); -$communicator->addObjectFactory($factory, "::Test::B"); -$communicator->addObjectFactory($factory, "::Test::C"); -$communicator->addObjectFactory($factory, "::Test::D"); -$communicator->addObjectFactory($factory, "::Test::E"); -$communicator->addObjectFactory($factory, "::Test::F"); -$communicator->addObjectFactory($factory, "::Test::I"); -$communicator->addObjectFactory($factory, "::Test::J"); -$communicator->addObjectFactory($factory, "::Test::H"); +$factory = new MyValueFactory(); +$communicator->addValueFactory($factory, "::Test::B"); +$communicator->addValueFactory($factory, "::Test::C"); +$communicator->addValueFactory($factory, "::Test::D"); +$communicator->addValueFactory($factory, "::Test::E"); +$communicator->addValueFactory($factory, "::Test::F"); +$communicator->addValueFactory($factory, "::Test::I"); +$communicator->addValueFactory($factory, "::Test::J"); +$communicator->addValueFactory($factory, "::Test::H"); +$communicator->addObjectFactory(new MyObjectFactory(), "TestOF"); $initial = allTests($communicator); $initial->shutdown(); $communicator->destroy(); diff --git a/php/test/Ice/slicing/objects/Client.php b/php/test/Ice/slicing/objects/Client.php index 1e2a8913e79..94f38ef6c67 100644 --- a/php/test/Ice/slicing/objects/Client.php +++ b/php/test/Ice/slicing/objects/Client.php @@ -102,7 +102,7 @@ function allTests($communicator) } catch(Exception $ex) { - test(get_class($ex) == ($NS ? "Ice\\NoObjectFactoryException" : "Ice_NoObjectFactoryException")); + test(get_class($ex) == ($NS ? "Ice\\NoValueFactoryException" : "Ice_NoValueFactoryException")); } } echo "ok\n"; @@ -122,7 +122,7 @@ function allTests($communicator) } catch(Exception $b) { - $excls = $NS ? "Ice\\NoObjectFactoryException" : "Ice_NoObjectFactoryException"; + $excls = $NS ? "Ice\\NoValueFactoryException" : "Ice_NoValueFactoryException"; if($b instanceof $excls) { test($test->ice_getEncodingVersion() == $Ice_Encoding_1_0); diff --git a/python/modules/IcePy/Communicator.cpp b/python/modules/IcePy/Communicator.cpp index 919086d9ae8..df7d2282927 100644 --- a/python/modules/IcePy/Communicator.cpp +++ b/python/modules/IcePy/Communicator.cpp @@ -24,6 +24,7 @@ #include <Thread.h> #include <Types.h> #include <Util.h> +#include <Ice/ValueFactory.h> #include <Ice/Initialize.h> #include <Ice/CommunicatorAsync.h> #include <Ice/LocalException.h> @@ -1197,7 +1198,51 @@ communicatorAddObjectFactory(CommunicatorObject* self, PyObject* args) } - if(!pof->add(factory, id)) + if(!pof->addObjectFactory(factory, id)) + { + return 0; + } + + Py_INCREF(Py_None); + return Py_None; +} + +#ifdef WIN32 +extern "C" +#endif +static PyObject* +communicatorAddValueFactory(CommunicatorObject* self, PyObject* args) +{ + PyObject* factoryType = lookupType("Ice.ValueFactory"); + assert(factoryType); + + PyObject* factory; + PyObject* strObj; + if(!PyArg_ParseTuple(args, STRCAST("O!O"), factoryType, &factory, &strObj)) + { + return 0; + } + + string id; + if(!getStringArg(strObj, "id", id)) + { + return 0; + } + + ObjectFactoryPtr pof; + try + { + pof = ObjectFactoryPtr::dynamicCast((*self->communicator)->findObjectFactory("")); + assert(pof); + } + catch(const Ice::Exception& ex) + { + setPythonException(ex); + return 0; + + } + + if(!pof->addValueFactory(factory, id)) { return 0; } @@ -1236,7 +1281,40 @@ communicatorFindObjectFactory(CommunicatorObject* self, PyObject* args) return 0; } - return pof->find(id); + return pof->findObjectFactory(id); +} + +#ifdef WIN32 +extern "C" +#endif +static PyObject* +communicatorFindValueFactory(CommunicatorObject* self, PyObject* args) +{ + PyObject* strObj; + if(!PyArg_ParseTuple(args, STRCAST("O"), &strObj)) + { + return 0; + } + + string id; + if(!getStringArg(strObj, "id", id)) + { + return 0; + } + + ObjectFactoryPtr pof; + try + { + pof = ObjectFactoryPtr::dynamicCast((*self->communicator)->findObjectFactory("")); + assert(pof); + } + catch(const Ice::Exception& ex) + { + setPythonException(ex); + return 0; + } + + return pof->findValueFactory(id); } #ifdef WIN32 @@ -1570,6 +1648,10 @@ static PyMethodDef CommunicatorMethods[] = PyDoc_STR(STRCAST("addObjectFactory(factory, id) -> None")) }, { STRCAST("findObjectFactory"), reinterpret_cast<PyCFunction>(communicatorFindObjectFactory), METH_VARARGS, PyDoc_STR(STRCAST("findObjectFactory(id) -> Ice.ObjectFactory")) }, + { STRCAST("addValueFactory"), reinterpret_cast<PyCFunction>(communicatorAddValueFactory), METH_VARARGS, + PyDoc_STR(STRCAST("addValueFactory(factory, id) -> None")) }, + { STRCAST("findValueFactory"), reinterpret_cast<PyCFunction>(communicatorFindValueFactory), METH_VARARGS, + PyDoc_STR(STRCAST("findValueFactory(id) -> Ice.ValueFactory")) }, { STRCAST("getImplicitContext"), reinterpret_cast<PyCFunction>(communicatorGetImplicitContext), METH_NOARGS, PyDoc_STR(STRCAST("getImplicitContext() -> Ice.ImplicitContext")) }, { STRCAST("getProperties"), reinterpret_cast<PyCFunction>(communicatorGetProperties), METH_NOARGS, diff --git a/python/modules/IcePy/Makefile.mak b/python/modules/IcePy/Makefile.mak index 6ef88199500..4473a818f67 100644 --- a/python/modules/IcePy/Makefile.mak +++ b/python/modules/IcePy/Makefile.mak @@ -35,6 +35,7 @@ OBJS = .\BatchRequestInterceptor.obj \ .\Types.obj \ .\Util.obj + # # Get Make.common.rules.mak to figure out CPP_COMPILER by setting it # to "auto" diff --git a/python/modules/IcePy/ObjectFactory.cpp b/python/modules/IcePy/ObjectFactory.cpp index 1829d32956b..d3720714a29 100644 --- a/python/modules/IcePy/ObjectFactory.cpp +++ b/python/modules/IcePy/ObjectFactory.cpp @@ -25,7 +25,8 @@ IcePy::ObjectFactory::ObjectFactory() IcePy::ObjectFactory::~ObjectFactory() { - assert(_factoryMap.empty()); + assert(_valueFactoryMap.empty()); + assert(_objectFactoryMap.empty()); } Ice::ObjectPtr @@ -39,8 +40,8 @@ IcePy::ObjectFactory::create(const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p != _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) { factory = p->second; } @@ -112,12 +113,15 @@ IcePy::ObjectFactory::create(const string& id) void IcePy::ObjectFactory::destroy() { - FactoryMap factories; + FactoryMap valueFactories; + FactoryMap objectFactories; { Lock sync(*this); - factories = _factoryMap; - _factoryMap.clear(); + objectFactories = _objectFactoryMap; + valueFactories = _valueFactoryMap; + _valueFactoryMap.clear(); + _objectFactoryMap.clear(); } // @@ -126,66 +130,89 @@ IcePy::ObjectFactory::destroy() // AdoptThread adoptThread; - for(FactoryMap::iterator p = factories.begin(); p != factories.end(); ++p) + for(FactoryMap::iterator p = _objectFactoryMap.begin(); p != _objectFactoryMap.end(); ++p) { // - // Invoke the destroy method on each registered Python factory. + // Invoke the destroy method on each registered Python "object" factory. // PyObjectHandle obj = PyObject_CallMethod(p->second, STRCAST("destroy"), 0); PyErr_Clear(); // Ignore errors. Py_DECREF(p->second); } + for(FactoryMap::iterator p = _valueFactoryMap.begin(); p != _valueFactoryMap.end(); ++p) + { + PyErr_Clear(); // Ignore errors. + Py_DECREF(p->second); + } } bool -IcePy::ObjectFactory::add(PyObject* factory, const string& id) +IcePy::ObjectFactory::addValueFactory(PyObject* factory, const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p != _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) { Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; ex.id = id; setPythonException(ex); return false; } - _factoryMap.insert(FactoryMap::value_type(id, factory)); + _valueFactoryMap.insert(FactoryMap::value_type(id, factory)); Py_INCREF(factory); return true; } bool -IcePy::ObjectFactory::remove(const string& id) +IcePy::ObjectFactory::addObjectFactory(PyObject* factory, const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p == _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) { - Ice::NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; + Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); + ex.kindOfObject = "value factory"; ex.id = id; setPythonException(ex); return false; } - Py_DECREF(p->second); - _factoryMap.erase(p); + _valueFactoryMap.insert(FactoryMap::value_type(id, factory)); + Py_INCREF(factory); + _objectFactoryMap.insert(FactoryMap::value_type(id, factory)); + Py_INCREF(factory); return true; } PyObject* -IcePy::ObjectFactory::find(const string& id) +IcePy::ObjectFactory::findValueFactory(const string& id) +{ + Lock sync(*this); + + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p == _valueFactoryMap.end()) + { + Py_INCREF(Py_None); + return Py_None; + } + + Py_INCREF(p->second); + return p->second; +} + +PyObject* +IcePy::ObjectFactory::findObjectFactory(const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p == _factoryMap.end()) + FactoryMap::iterator p = _objectFactoryMap.find(id); + if(p == _objectFactoryMap.end()) { Py_INCREF(Py_None); return Py_None; diff --git a/python/modules/IcePy/ObjectFactory.h b/python/modules/IcePy/ObjectFactory.h index 8445996b330..57b93352bdd 100644 --- a/python/modules/IcePy/ObjectFactory.h +++ b/python/modules/IcePy/ObjectFactory.h @@ -34,14 +34,17 @@ public: virtual void destroy(); - bool add(PyObject*, const std::string&); - bool remove(const std::string&); - PyObject* find(const std::string&); + bool addValueFactory(PyObject*, const std::string&); + bool addObjectFactory(PyObject*, const std::string&); + + PyObject* findValueFactory(const std::string&); + PyObject* findObjectFactory(const std::string&); private: typedef std::map<std::string, PyObject*> FactoryMap; - FactoryMap _factoryMap; + FactoryMap _valueFactoryMap; + FactoryMap _objectFactoryMap; }; typedef IceUtil::Handle<ObjectFactory> ObjectFactoryPtr; diff --git a/python/modules/IcePy/Util.cpp b/python/modules/IcePy/Util.cpp index 74869df7121..b86ddffd953 100644 --- a/python/modules/IcePy/Util.cpp +++ b/python/modules/IcePy/Util.cpp @@ -818,7 +818,7 @@ convertLocalException(const Ice::LocalException& ex, PyObject* p) m = IcePy::createEncodingVersion(e.supported); PyObject_SetAttrString(p, STRCAST("supported"), m.get()); } - catch(const Ice::NoObjectFactoryException& e) + catch(const Ice::NoValueFactoryException& e) { IcePy::PyObjectHandle m; m = IcePy::createString(e.reason); diff --git a/python/python/Ice.py b/python/python/Ice.py index feb060efa54..c111781f923 100644 --- a/python/python/Ice.py +++ b/python/python/Ice.py @@ -446,6 +446,7 @@ import Ice_Locator_ice import Ice_Logger_ice import Ice_ObjectAdapter_ice import Ice_ObjectFactory_ice +import Ice_ValueFactory_ice import Ice_Process_ice import Ice_Properties_ice import Ice_RemoteLogger_ice @@ -623,6 +624,12 @@ class CommunicatorI(Communicator): def findObjectFactory(self, id): return self._impl.findObjectFactory(id) + def addValueFactory(self, factory, id): + self._impl.addValueFactory(factory, id) + + def findValueFactory(self, id): + return self._impl.findValueFactory(id) + def getImplicitContext(self): context = self._impl.getImplicitContext() if context == None: diff --git a/python/python/Makefile b/python/python/Makefile index 81fdcd867d0..9fafeab7ada 100644 --- a/python/python/Makefile +++ b/python/python/Makefile @@ -54,6 +54,7 @@ ICE_SRCS = Ice_BuiltinSequences_ice.py \ Ice_ServantLocator_ice.py \ Ice_ServantLocatorF_ice.py \ Ice_SliceChecksumDict_ice.py \ + Ice_ValueFactory_ice.py \ Ice_Version_ice.py GLACIER2_SRCS = Glacier2_Metrics_ice.py \ diff --git a/python/python/Makefile.mak b/python/python/Makefile.mak index fb5b2358780..26d8dec616b 100644 --- a/python/python/Makefile.mak +++ b/python/python/Makefile.mak @@ -50,6 +50,7 @@ ICE_SLICES = Ice\BuiltinSequences.ice \ Ice\ServantLocator.ice \ Ice\ServantLocatorF.ice \ Ice\SliceChecksumDict.ice \ + Ice\ValueFactory.ice \ Ice\Version.ice \ ICE_SRCS = $(ICE_SLICES:.ice=_ice.py) @@ -266,6 +267,12 @@ Ice_EndpointF_ice.py: "$(slicedir)/Ice/EndpointF.ice" "$(SLICEPARSERLIB)" Ice_EndpointTypes_ice.py: "$(slicedir)/Ice/EndpointTypes.ice" "$(SLICEPARSERLIB)" "$(SLICE2PY)" $(SLICE2PYFLAGS) --prefix Ice_ --no-package "$(slicedir)/Ice/EndpointTypes.ice" +Ice_ValueFactory_ice.py: "$(slicedir)/Ice/ValueFactory.ice" "$(SLICEPARSERLIB)" + "$(SLICE2PY)" $(SLICE2PYFLAGS) --prefix Ice_ --no-package "$(slicedir)/Ice/ValueFactory.ice" + +Ice_ValueFactoryF_ice.py: "$(slicedir)/Ice/ValueFactoryF.ice" "$(SLICEPARSERLIB)" + "$(SLICE2PY)" $(SLICE2PYFLAGS) --prefix Ice_ --no-package "$(slicedir)/Ice/ValueFactoryF.ice" + Ice_Version_ice.py: "$(slicedir)/Ice/Version.ice" "$(SLICEPARSERLIB)" "$(SLICE2PY)" $(SLICE2PYFLAGS) --prefix Ice_ --no-package "$(slicedir)/Ice/Version.ice" diff --git a/python/test/Ice/exceptions/AllTests.py b/python/test/Ice/exceptions/AllTests.py index 4522a0de731..4df5e5d4dd3 100644 --- a/python/test/Ice/exceptions/AllTests.py +++ b/python/test/Ice/exceptions/AllTests.py @@ -26,13 +26,10 @@ class ServantLocatorI(Ice.ServantLocator): def deactivate(self, category): pass -class ObjectFactoryI(Ice.ObjectFactory): +class ValueFactoryI(Ice.ValueFactory): def create(id): return None - def destroy(): - pass - class CallbackBase: def __init__(self): self._called = False @@ -273,10 +270,10 @@ def allTests(communicator): sys.stdout.write("testing object factory registration exception... ") sys.stdout.flush() - of = ObjectFactoryI() - communicator.addObjectFactory(of, "x") + vf = ValueFactoryI() + communicator.addValueFactory(vf, "x") try: - communicator.addObjectFactory(of, "x") + communicator.addValueFactory(vf, "x") test(false) except Ice.AlreadyRegisteredException: pass diff --git a/python/test/Ice/objects/AllTests.py b/python/test/Ice/objects/AllTests.py index 3d46a6ca643..69296510fd4 100644 --- a/python/test/Ice/objects/AllTests.py +++ b/python/test/Ice/objects/AllTests.py @@ -9,7 +9,7 @@ import Ice, Test, TestI, sys -class MyObjectFactory(Ice.ObjectFactory): +class MyValueFactory(Ice.ValueFactory): def create(self, type): if type == '::Test::B': return TestI.BI() @@ -29,8 +29,11 @@ class MyObjectFactory(Ice.ObjectFactory): return TestI.HI() assert(False) # Should never be reached - def destroy(self): - # Nothing to do +class MyObjectFactory(Ice.ObjectFactory): + def create(self, type): + return None + + def destroy(): pass def test(b): @@ -38,15 +41,17 @@ def test(b): raise RuntimeError('test assertion failed') def allTests(communicator): - factory = MyObjectFactory() - communicator.addObjectFactory(factory, '::Test::B') - communicator.addObjectFactory(factory, '::Test::C') - communicator.addObjectFactory(factory, '::Test::D') - communicator.addObjectFactory(factory, '::Test::E') - communicator.addObjectFactory(factory, '::Test::F') - communicator.addObjectFactory(factory, '::Test::I') - communicator.addObjectFactory(factory, '::Test::J') - communicator.addObjectFactory(factory, '::Test::H') + factory = MyValueFactory() + communicator.addValueFactory(factory, '::Test::B') + communicator.addValueFactory(factory, '::Test::C') + communicator.addValueFactory(factory, '::Test::D') + communicator.addValueFactory(factory, '::Test::E') + communicator.addValueFactory(factory, '::Test::F') + communicator.addValueFactory(factory, '::Test::I') + communicator.addValueFactory(factory, '::Test::J') + communicator.addValueFactory(factory, '::Test::H') + + communicator.addObjectFactory(MyObjectFactory(), "TestOF") sys.stdout.write("testing stringToProxy... ") sys.stdout.flush() @@ -67,19 +72,19 @@ def allTests(communicator): b1 = initial.getB1() test(b1) print("ok") - + sys.stdout.write("getting B2... ") sys.stdout.flush() b2 = initial.getB2() test(b2) print("ok") - + sys.stdout.write("getting C... ") sys.stdout.flush() c = initial.getC() test(c) print("ok") - + sys.stdout.write("getting D... ") sys.stdout.flush() d = initial.getD() @@ -97,7 +102,7 @@ def allTests(communicator): test(f.e2.checkValues()) test(f._e1.checkValues()) print("ok") - + sys.stdout.write("getting I, J, H... ") sys.stdout.flush() i = initial.getI() @@ -107,7 +112,7 @@ def allTests(communicator): h = initial.getH() test(isinstance(h, Test.H)) print("ok") - + sys.stdout.write("getting D1... ") sys.stdout.flush() d1 = initial.getD1(Test.D1(Test.A1("a1"), Test.A1("a2"), Test.A1("a3"), Test.A1("a4"))); @@ -116,7 +121,7 @@ def allTests(communicator): test(d1.a3.name == "a3") test(d1.a4.name == "a4") print("ok") - + sys.stdout.write("throw EDerived... ") sys.stdout.flush() try: @@ -135,7 +140,7 @@ def allTests(communicator): initial.setI(TestI.JI()) initial.setI(TestI.HI()) print("ok") - + sys.stdout.write("checking consistency... ") sys.stdout.flush() test(b1 != b2) @@ -170,7 +175,7 @@ def allTests(communicator): test(c) test(d) print("ok") - + sys.stdout.write("checking consistency... ") sys.stdout.flush() test(b1 != b2) @@ -220,7 +225,7 @@ def allTests(communicator): print("ok") # Don't run this test with collocation, this should work with collocation - # but the test isn't written to support it (we'd need support for the + # but the test isn't written to support it (we'd need support for the # streaming interface) if initial.ice_getConnection(): sys.stdout.write("testing UnexpectedObjectException... ") @@ -244,4 +249,14 @@ def allTests(communicator): test(False) print("ok") + sys.stdout.write("testing getting ObjectFactory... ") + sys.stdout.flush() + test(communicator.findObjectFactory("TestOF") != None) + print("ok") + + sys.stdout.write("testing getting ObjectFactory as ValueFactory... ") + sys.stdout.flush() + test(communicator.findValueFactory("TestOF") != None) + print("ok") + return initial diff --git a/python/test/Ice/objects/Server.py b/python/test/Ice/objects/Server.py index d988b501d14..eb4df06fc5a 100755 --- a/python/test/Ice/objects/Server.py +++ b/python/test/Ice/objects/Server.py @@ -15,7 +15,7 @@ Ice.loadSlice('Test.ice') Ice.loadSlice('ServerPrivate.ice') import Test, TestI -class MyObjectFactory(Ice.ObjectFactory): +class MyValueFactory(Ice.ValueFactory): def create(self, type): if type == '::Test::I': return TestI.II() @@ -25,15 +25,11 @@ class MyObjectFactory(Ice.ObjectFactory): return TestI.HI() assert(False) # Should never be reached - def destroy(self): - # Nothing to do - pass - def run(args, communicator): - factory = MyObjectFactory() - communicator.addObjectFactory(factory, '::Test::I') - communicator.addObjectFactory(factory, '::Test::J') - communicator.addObjectFactory(factory, '::Test::H') + factory = MyValueFactory() + communicator.addValueFactory(factory, '::Test::I') + communicator.addValueFactory(factory, '::Test::J') + communicator.addValueFactory(factory, '::Test::H') communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010") adapter = communicator.createObjectAdapter("TestAdapter") diff --git a/python/test/Ice/slicing/objects/AllTests.py b/python/test/Ice/slicing/objects/AllTests.py index c73a8df0b01..15f90497304 100644 --- a/python/test/Ice/slicing/objects/AllTests.py +++ b/python/test/Ice/slicing/objects/AllTests.py @@ -68,14 +68,14 @@ class Callback(CallbackBase): test(False) def exception_SBSUnknownDerivedAsSBaseCompact(self, ex): - test(isinstance(ex, Ice.NoObjectFactoryException)) + test(isinstance(ex, Ice.NoValueFactoryException)) self.called() def response_SUnknownAsObject10(self, o): test(False) def exception_SUnknownAsObject10(self, exc): - test(exc.ice_name() == "Ice::NoObjectFactoryException") + test(exc.ice_name() == "Ice::NoValueFactoryException") self.called() def response_SUnknownAsObject11(self, o): @@ -359,15 +359,12 @@ class PNodeI(Test.PNode): def __del__(self): PNodeI.counter = PNodeI.counter - 1 -class NodeFactoryI(Ice.ObjectFactory): +class NodeFactoryI(Ice.ValueFactory): def create(self, id): if id == Test.PNode.ice_staticId(): return PNodeI() return None - def destroy(self): - pass - class PreservedI(Test.Preserved): counter = 0 @@ -377,15 +374,12 @@ class PreservedI(Test.Preserved): def __del__(self): PreservedI.counter = PreservedI.counter - 1 -class PreservedFactoryI(Ice.ObjectFactory): +class PreservedFactoryI(Ice.ValueFactory): def create(self, id): if id == Test.Preserved.ice_staticId(): return PreservedI() return None - def destroy(self): - pass - def allTests(communicator): obj = communicator.stringToProxy("Test:default -p 12010") t = Test.TestIntfPrx.checkedCast(obj) @@ -492,7 +486,7 @@ def allTests(communicator): test(False) except Ice.OperationNotExistException: pass - except Ice.NoObjectFactoryException: + except Ice.NoValueFactoryException: # Expected. pass except: @@ -530,7 +524,7 @@ def allTests(communicator): test(isinstance(o, Ice.UnknownSlicedObject)) test(o.unknownTypeId == "::Test::SUnknown") t.checkSUnknown(o) - except Ice.NoObjectFactoryException: + except Ice.NoValueFactoryException: test(t.ice_getEncodingVersion() == Ice.Encoding_1_0) except Ice.Exception: test(False) @@ -1579,7 +1573,7 @@ def allTests(communicator): t.ice_encodingVersion(Ice.Encoding_1_0).checkPBSUnknown(p) except Ice.OperationNotExistException: pass - + print("ok") sys.stdout.write("preserved classes (AMI)... ") @@ -1674,7 +1668,7 @@ def allTests(communicator): # UCNode. This provides an easy way to determine how many # unmarshaled instances currently exist. # - communicator.addObjectFactory(NodeFactoryI(), Test.PNode.ice_staticId()) + communicator.addValueFactory(NodeFactoryI(), Test.PNode.ice_staticId()) # # Relay a graph through the server. This test uses a preserved class @@ -1761,7 +1755,7 @@ def allTests(communicator): # Preserved. This provides an easy way to determine how many # unmarshaled instances currently exist. # - communicator.addObjectFactory(PreservedFactoryI(), Test.Preserved.ice_staticId()) + communicator.addValueFactory(PreservedFactoryI(), Test.Preserved.ice_staticId()) # # Obtain a preserved object from the server where the most-derived diff --git a/ruby/ruby/Ice.rb b/ruby/ruby/Ice.rb index cd80d580b56..e336dc5d824 100644 --- a/ruby/ruby/Ice.rb +++ b/ruby/ruby/Ice.rb @@ -214,6 +214,7 @@ require 'Ice/LocalException.rb' require 'Ice/Locator.rb' require 'Ice/Logger.rb' require 'Ice/ObjectFactory.rb' +require 'Ice/ValueFactory.rb' require 'Ice/Process.rb' require 'Ice/Router.rb' require 'Ice/Connection.rb' @@ -339,7 +340,7 @@ module Ice def initialize(signalPolicy=HandleSignals) @@_signalPolicy = signalPolicy end - + def main(args, configFile=nil, initData=nil) if @@_communicator Ice::getProcessLogger().error($0 + ": only one instance of the Application class can be used") diff --git a/ruby/ruby/Makefile b/ruby/ruby/Makefile index 4e6d128ffaf..3fe9e57c8d5 100644 --- a/ruby/ruby/Makefile +++ b/ruby/ruby/Makefile @@ -53,7 +53,8 @@ ICE_SRCS = Ice/LocalException.rb \ Ice/Version.rb \ Ice/InstrumentationF.rb \ Ice/Instrumentation.rb \ - Ice/Metrics.rb + Ice/Metrics.rb \ + Ice/ValueFactory.rb # # IMPORTANT: If you add or remove Slice files, you also need to check Glacier2.rb! diff --git a/ruby/src/IceRuby/Communicator.cpp b/ruby/src/IceRuby/Communicator.cpp index 24d9629a847..2ba7bc53c83 100644 --- a/ruby/src/IceRuby/Communicator.cpp +++ b/ruby/src/IceRuby/Communicator.cpp @@ -181,7 +181,7 @@ IceRuby_initialize(int argc, VALUE* argv, VALUE self) throw; } - + // // Replace the contents of the given argument list with the filtered arguments. // @@ -343,7 +343,7 @@ IceRuby_Communicator_proxyToProperty(VALUE self, VALUE obj, VALUE str) volatile VALUE value = createString(q->second); callRuby(rb_hash_aset, result, key, value); } - return result; + return result; } ICE_RUBY_CATCH return Qnil; @@ -389,7 +389,23 @@ IceRuby_Communicator_addObjectFactory(VALUE self, VALUE factory, VALUE id) ObjectFactoryPtr pof = ObjectFactoryPtr::dynamicCast(p->findObjectFactory("")); assert(pof); string idstr = getString(id); - pof->add(factory, idstr); + pof->addObjectFactory(factory, idstr); + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE +IceRuby_Communicator_addValueFactory(VALUE self, VALUE factory, VALUE id) +{ + ICE_RUBY_TRY + { + Ice::CommunicatorPtr p = getCommunicator(self); + ObjectFactoryPtr pof = ObjectFactoryPtr::dynamicCast(p->findObjectFactory("")); + assert(pof); + string idstr = getString(id); + pof->addValueFactory(factory, idstr); } ICE_RUBY_CATCH return Qnil; @@ -405,7 +421,23 @@ IceRuby_Communicator_findObjectFactory(VALUE self, VALUE id) ObjectFactoryPtr pof = ObjectFactoryPtr::dynamicCast(p->findObjectFactory("")); assert(pof); string idstr = getString(id); - return pof->find(idstr); + return pof->findObjectFactory(idstr); + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE +IceRuby_Communicator_findValueFactory(VALUE self, VALUE id) +{ + ICE_RUBY_TRY + { + Ice::CommunicatorPtr p = getCommunicator(self); + ObjectFactoryPtr pof = ObjectFactoryPtr::dynamicCast(p->findObjectFactory("")); + assert(pof); + string idstr = getString(id); + return pof->findValueFactory(idstr); } ICE_RUBY_CATCH return Qnil; @@ -566,6 +598,8 @@ IceRuby::initCommunicator(VALUE iceModule) rb_define_method(_communicatorClass, "identityToString", CAST_METHOD(IceRuby_Communicator_identityToString), 1); rb_define_method(_communicatorClass, "addObjectFactory", CAST_METHOD(IceRuby_Communicator_addObjectFactory), 2); rb_define_method(_communicatorClass, "findObjectFactory", CAST_METHOD(IceRuby_Communicator_findObjectFactory), 1); + rb_define_method(_communicatorClass, "addValueFactory", CAST_METHOD(IceRuby_Communicator_addValueFactory), 2); + rb_define_method(_communicatorClass, "findValueFactory", CAST_METHOD(IceRuby_Communicator_findValueFactory), 1); rb_define_method(_communicatorClass, "getImplicitContext", CAST_METHOD(IceRuby_Communicator_getImplicitContext), 0); rb_define_method(_communicatorClass, "getProperties", CAST_METHOD(IceRuby_Communicator_getProperties), 0); rb_define_method(_communicatorClass, "getLogger", CAST_METHOD(IceRuby_Communicator_getLogger), 0); diff --git a/ruby/src/IceRuby/ObjectFactory.cpp b/ruby/src/IceRuby/ObjectFactory.cpp index 588158a64e3..ed37fdd86fb 100644 --- a/ruby/src/IceRuby/ObjectFactory.cpp +++ b/ruby/src/IceRuby/ObjectFactory.cpp @@ -21,7 +21,8 @@ IceRuby::ObjectFactory::ObjectFactory() IceRuby::ObjectFactory::~ObjectFactory() { - assert(_factoryMap.empty()); + assert(_valueFactoryMap.empty()); + assert(_objectFactoryMap.empty()); } Ice::ObjectPtr @@ -54,8 +55,8 @@ IceRuby::ObjectFactory::create(const string& id) // // Check if the application has registered a factory for this id. // - FactoryMap::iterator p = _factoryMap.find(id); - if(p != _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) { // // Invoke the create method on the Ruby factory object. @@ -82,10 +83,10 @@ IceRuby::ObjectFactory::destroy() { Lock sync(*this); - for(FactoryMap::iterator p = _factoryMap.begin(); p != _factoryMap.end(); ++p) + for(FactoryMap::iterator p = _objectFactoryMap.begin(); p != _objectFactoryMap.end(); ++p) { // - // Invoke the destroy method on each registered Ruby factory. + // Invoke the destroy method on each registered Ruby object factory. // try { @@ -96,33 +97,67 @@ IceRuby::ObjectFactory::destroy() // Ignore. } } - _factoryMap.clear(); + + _valueFactoryMap.clear(); + _objectFactoryMap.clear(); +} + +void +IceRuby::ObjectFactory::addValueFactory(VALUE factory, const string& id) +{ + Lock sync(*this); + + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) + { + Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); + ex.kindOfObject = "value factory"; + ex.id = id; + throw ex; + } + + _valueFactoryMap.insert(FactoryMap::value_type(id, factory)); } void -IceRuby::ObjectFactory::add(VALUE factory, const string& id) +IceRuby::ObjectFactory::addObjectFactory(VALUE factory, const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p != _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p != _valueFactoryMap.end()) { Ice::AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "object factory"; + ex.kindOfObject = "value factory"; ex.id = id; throw ex; } - _factoryMap.insert(FactoryMap::value_type(id, factory)); + _valueFactoryMap.insert(FactoryMap::value_type(id, factory)); + _objectFactoryMap.insert(FactoryMap::value_type(id, factory)); } VALUE -IceRuby::ObjectFactory::find(const string& id) +IceRuby::ObjectFactory::findValueFactory(const string& id) { Lock sync(*this); - FactoryMap::iterator p = _factoryMap.find(id); - if(p == _factoryMap.end()) + FactoryMap::iterator p = _valueFactoryMap.find(id); + if(p == _valueFactoryMap.end()) + { + return Qnil; + } + + return p->second; +} + +VALUE +IceRuby::ObjectFactory::findObjectFactory(const string& id) +{ + Lock sync(*this); + + FactoryMap::iterator p = _objectFactoryMap.find(id); + if(p == _objectFactoryMap.end()) { return Qnil; } @@ -133,7 +168,11 @@ IceRuby::ObjectFactory::find(const string& id) void IceRuby::ObjectFactory::mark() { - for(FactoryMap::iterator p = _factoryMap.begin(); p != _factoryMap.end(); ++p) + for(FactoryMap::iterator p = _valueFactoryMap.begin(); p != _valueFactoryMap.end(); ++p) + { + rb_gc_mark(p->second); + } + for(FactoryMap::iterator p = _objectFactoryMap.begin(); p != _objectFactoryMap.end(); ++p) { rb_gc_mark(p->second); } diff --git a/ruby/src/IceRuby/ObjectFactory.h b/ruby/src/IceRuby/ObjectFactory.h index 152f73f8425..0d5c29a7d6a 100644 --- a/ruby/src/IceRuby/ObjectFactory.h +++ b/ruby/src/IceRuby/ObjectFactory.h @@ -34,14 +34,17 @@ public: virtual void destroy(); - void add(VALUE, const std::string&); - VALUE find(const std::string&); + void addValueFactory(VALUE, const std::string&); + VALUE findValueFactory(const std::string&); + void addObjectFactory(VALUE, const std::string&); + VALUE findObjectFactory(const std::string&); void mark(); private: typedef std::map<std::string, VALUE> FactoryMap; - FactoryMap _factoryMap; + FactoryMap _valueFactoryMap; + FactoryMap _objectFactoryMap; }; typedef IceUtil::Handle<ObjectFactory> ObjectFactoryPtr; diff --git a/ruby/src/IceRuby/Util.cpp b/ruby/src/IceRuby/Util.cpp index bac8daddec1..d4452e4088e 100644 --- a/ruby/src/IceRuby/Util.cpp +++ b/ruby/src/IceRuby/Util.cpp @@ -311,7 +311,7 @@ IceRuby::createString(const string& str) namespace { -template <typename T> +template <typename T> struct RubyCallArgs { volatile VALUE val; @@ -699,7 +699,7 @@ setExceptionMembers(const Ice::LocalException& ex, VALUE p) m = createEncodingVersion(e.supported); callRuby(rb_iv_set, p, "@supported", m); } - catch(const Ice::NoObjectFactoryException& e) + catch(const Ice::NoValueFactoryException& e) { volatile VALUE v; v = createString(e.reason); diff --git a/ruby/test/Ice/exceptions/AllTests.rb b/ruby/test/Ice/exceptions/AllTests.rb index b0cf5e74293..b41430d433c 100644 --- a/ruby/test/Ice/exceptions/AllTests.rb +++ b/ruby/test/Ice/exceptions/AllTests.rb @@ -13,13 +13,10 @@ def test(b) end end -class ObjectFactoryI +class ValueFactoryI def create(id) return nil end - - def destroy() - end end def allTests(communicator) @@ -29,12 +26,12 @@ def allTests(communicator) isWin32 = true end - print "testing object factory registration exception... " + print "testing value factory registration exception... " STDOUT.flush - of = ObjectFactoryI.new - communicator.addObjectFactory(of, "x") + vf = ValueFactoryI.new + communicator.addValueFactory(vf, "x") begin - communicator.addObjectFactory(of, "x") + communicator.addValueFactory(vf, "x") test(false) rescue Ice::AlreadyRegisteredException end diff --git a/ruby/test/Ice/objects/AllTests.rb b/ruby/test/Ice/objects/AllTests.rb index 56fb00a02b1..9737bce8391 100644 --- a/ruby/test/Ice/objects/AllTests.rb +++ b/ruby/test/Ice/objects/AllTests.rb @@ -15,7 +15,7 @@ require './TestI.rb' # we always need to install the factories, even for the collocated # case. # -class MyObjectFactory +class MyValueFactory def create(type) if type == '::Test::B' return BI.new @@ -34,6 +34,12 @@ class MyObjectFactory end fail "unknown type" end +end + +class MyObjectFactory + def create(type) + return nil + end def destroy # Nothing to do @@ -48,12 +54,14 @@ end def allTests(communicator) - factory = MyObjectFactory.new - communicator.addObjectFactory(factory, '::Test::B') - communicator.addObjectFactory(factory, '::Test::C') - #communicator.addObjectFactory(factory, '::Test::D') - communicator.addObjectFactory(factory, '::Test::E') - communicator.addObjectFactory(factory, '::Test::F') + factory = MyValueFactory.new + communicator.addValueFactory(factory, '::Test::B') + communicator.addValueFactory(factory, '::Test::C') + #communicator.addValueFactory(factory, '::Test::D') + communicator.addValueFactory(factory, '::Test::E') + communicator.addValueFactory(factory, '::Test::F') + + communicator.addObjectFactory(MyObjectFactory.new, 'TestOF') print "testing stringToProxy... " STDOUT.flush @@ -74,25 +82,25 @@ def allTests(communicator) b1 = initial.getB1() test(b1) puts "ok" - + print "getting B2... " STDOUT.flush b2 = initial.getB2() test(b2) puts "ok" - + print "getting C... " STDOUT.flush c = initial.getC() test(c) puts "ok" - + print "getting D... " STDOUT.flush d = initial.getD() test(d) puts "ok" - + print "checking consistency... " STDOUT.flush test(b1 != b2) @@ -127,7 +135,7 @@ def allTests(communicator) test(c) test(d) puts "ok" - + print "checking consistency... " STDOUT.flush test(b1 != b2) @@ -192,7 +200,7 @@ def allTests(communicator) h = initial.getH() test(i) puts "ok" - + print "getting D1... " STDOUT.flush d1 = initial.getD1(Test::D1.new(Test::A1.new("a1"), Test::A1.new("a2"), Test::A1.new("a3"), Test::A1.new("a4"))) @@ -201,7 +209,7 @@ def allTests(communicator) test(d1.a3.name == "a3") test(d1.a4.name == "a4") puts "ok" - + print "throw EDerived... " STDOUT.flush begin @@ -267,5 +275,15 @@ def allTests(communicator) end puts "ok" + print "testing getting ObjectFactory... " + STDOUT.flush + test(communicator.findObjectFactory('TestOF') != nil) + puts "ok" + + print "testing getting ObjectFactory as ValueFactory... " + STDOUT.flush + test(communicator.findValueFactory('TestOF') != nil) + puts "ok" + return initial end diff --git a/ruby/test/Ice/slicing/objects/AllTests.rb b/ruby/test/Ice/slicing/objects/AllTests.rb index e43f52aef98..8f356113704 100644 --- a/ruby/test/Ice/slicing/objects/AllTests.rb +++ b/ruby/test/Ice/slicing/objects/AllTests.rb @@ -97,7 +97,7 @@ def allTests(communicator) # sb = t.SBSUnknownDerivedAsSBaseCompact() test(false) - rescue Ice::NoObjectFactoryException + rescue Ice::NoValueFactoryException # Expected. rescue test(false) @@ -114,7 +114,7 @@ def allTests(communicator) test(o.unknownTypeId == "::Test::SUnknown") test(o._ice_slicedData != nil) t.checkSUnknown(o) - rescue Ice::NoObjectFactoryException + rescue Ice::NoValueFactoryException test(t.ice_getEncodingVersion() == Ice::Encoding_1_0) rescue Ice::Exception test(false) diff --git a/slice/Ice/Communicator.ice b/slice/Ice/Communicator.ice index ada445e75e6..2b30ac6fd6b 100644 --- a/slice/Ice/Communicator.ice +++ b/slice/Ice/Communicator.ice @@ -15,6 +15,7 @@ #include <Ice/InstrumentationF.ice> #include <Ice/ObjectAdapterF.ice> #include <Ice/ObjectFactory.ice> +#include <Ice/ValueFactory.ice> #include <Ice/RouterF.ice> #include <Ice/LocatorF.ice> #include <Ice/PluginF.ice> @@ -46,6 +47,7 @@ module Ice * @see ObjectAdapter * @see Properties * @see ObjectFactory + * @see ValueFactory * **/ ["clr:implements:_System.IDisposable"] @@ -296,10 +298,10 @@ local interface Communicator * hierarchy until it finds a type that is recognized by a factory, * or it reaches the least-derived type. If no factory is found that * can create an instance, the run time throws - * {@link NoObjectFactoryException}.</p> + * {@link NoValueFactoryException}.</p> * * <p>If the object uses the "compact" format, Ice immediately raises - * {@link NoObjectFactoryException}.</p> + * {@link NoValueFactoryException}.</p> * * <p>The following order is used to locate a factory for a type:</p> * @@ -332,6 +334,57 @@ local interface Communicator /** * + * <p>Add a value factory to this communicator. Installing a + * factory with an id for which a factory is already registered + * throws {@link AlreadyRegisteredException}.</p> + * + * <p>When unmarshaling an Ice value, the Ice run time reads the + * most-derived type id off the wire and attempts to create an + * instance of the type using a factory. If no instance is created, + * either because no factory was found, or because all factories + * returned nil, the behavior of the Ice run time depends on the + * format with which the value was marshaled:</p> + * + * <p>If the value uses the "sliced" format, Ice ascends the class + * hierarchy until it finds a type that is recognized by a factory, + * or it reaches the least-derived type. If no factory is found that + * can create an instance, the run time throws + * {@link NoValueFactoryException}.</p> + * + * <p>If the value uses the "compact" format, Ice immediately raises + * {@link NoValueFactoryException}.</p> + * + * <p>The following order is used to locate a factory for a type:</p> + * + * <ol> + * + * <li>The Ice run-time looks for a factory registered + * specifically for the type.</li> + * + * <li>If no instance has been created, the Ice run-time looks + * for the default factory, which is registered with an empty type id. + * </li> + * + * <li>If no instance has been created by any of the preceding + * steps, the Ice run-time looks for a factory that may have been + * statically generated by the language mapping for non-abstract classes. + * </li> + * + * </ol> + * + * @param factory The factory to add. + * + * @param id The type id for which the factory can create instances, or + * an empty string for the default factory. + * + * @see #findValueFactory + * @see ValueFactory + * + **/ + void addValueFactory(ValueFactory factory, ["objc:param:sliceId"] string id); + + /** + * * Find an object factory registered with this communicator. * * @param id The type id for which the factory can create instances, @@ -347,6 +400,22 @@ local interface Communicator ["cpp:const"] ObjectFactory findObjectFactory(string id); /** + * + * Find an value factory registered with this communicator. + * + * @param id The type id for which the factory can create instances, + * or an empty string for the default factory. + * + * @return The value factory, or null if no value factory was + * found for the given id. + * + * @see #addValueFactory + * @see ValueFactory + * + **/ + ["cpp:const"] ValueFactory findValueFactory(string id); + + /** * Get the implicit context associated with this communicator. * * @return The implicit context associated with this communicator; diff --git a/slice/Ice/LocalException.ice b/slice/Ice/LocalException.ice index 1677ffee949..9997ea09597 100644 --- a/slice/Ice/LocalException.ice +++ b/slice/Ice/LocalException.ice @@ -69,7 +69,7 @@ local exception CollocationOptimizationException * the Ice run time. * * This exception is raised if an attempt is made to register a - * servant, servant locator, facet, object factory, plug-in, object + * servant, servant locator, facet, value factory, plug-in, object * adapter, object, or user exception factory more than once for the * same ID. * @@ -80,7 +80,7 @@ local exception AlreadyRegisteredException /** * * The kind of object that is registered already: "servant", - * "servant locator", "object factory", "plug-in", + * "servant locator", "value factory", "plug-in", * "object adapter", "object", or "user exception factory". * **/ @@ -100,7 +100,7 @@ local exception AlreadyRegisteredException * registered with the Ice run time or Ice locator. * * This exception is raised if an attempt is made to remove a servant, - * servant locator, facet, object factory, plug-in, object adapter, + * servant locator, facet, value factory, plug-in, object adapter, * object, or user exception factory that is not currently registered. * * It's also raised if the Ice locator can't find an object or object @@ -114,7 +114,7 @@ local exception NotRegisteredException /** * * The kind of object that could not be removed: "servant", - * "servant locator", "object factory", "plug-in", + * "servant locator", "value factory", "plug-in", * "object adapter", "object", or "user exception factory". * **/ @@ -888,16 +888,16 @@ local exception UnmarshalOutOfBoundsException extends MarshalException /** * - * This exception is raised if no suitable object factory was found during + * This exception is raised if no suitable value factory was found during * unmarshaling of a Slice class instance. * - * @see ObjectFactory - * @see Communicator#addObjectFactory - * @see Communicator#findObjectFactory + * @see ValueFactory + * @see Communicator#addValueFactory + * @see Communicator#findValueFactory * **/ ["cpp:ice_print"] -local exception NoObjectFactoryException extends MarshalException +local exception NoValueFactoryException extends MarshalException { /** * diff --git a/slice/Ice/ObjectFactory.ice b/slice/Ice/ObjectFactory.ice index e54fd9cb26a..b1d3f2dae6b 100644 --- a/slice/Ice/ObjectFactory.ice +++ b/slice/Ice/ObjectFactory.ice @@ -26,7 +26,7 @@ module Ice * @see Freeze * **/ -["cpp11:type:std::function<Ice::ValuePtr (const std::string& type)>"] + local interface ObjectFactory { /** diff --git a/slice/Ice/ValueFactory.ice b/slice/Ice/ValueFactory.ice new file mode 100644 index 00000000000..0afa62f020f --- /dev/null +++ b/slice/Ice/ValueFactory.ice @@ -0,0 +1,52 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#pragma once + +[["cpp:header-ext:h", "objc:header-dir:objc"]] + +["objc:prefix:ICE"] +module Ice +{ + +/** + * + * A factory for values. Value factories are used in several + * places, for example, when receiving "values by value" and + * when Freeze restores a persistent value. Value factories + * must be implemented by the application writer, and registered + * with the communicator. + * + * @see Freeze + * + **/ +["delegate"] +local interface ValueFactory +{ + /** + * + * Create a new value for a given value type. The type is the + * absolute Slice type id, i.e., the id relative to the + * unnamed top-level Slice module. For example, the absolute + * Slice type id for interfaces of type <tt>Bar</tt> in the module + * <tt>Foo</tt> is <tt>::Foo::Bar</tt>. + * + * <p class="Note">The leading "<tt>::</tt>" is required. + * + * @param type The value type. + * + * @return The value created for the given type, or nil if the + * factory is unable to create the value. + * + **/ + Value create(string type); +}; + +}; + |