diff options
author | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
commit | 2029ff368e49fae489b8ec8fc12f7d126b182dfb (patch) | |
tree | 6075d652b7851831c39e6f22004d8720864f1a60 /cpp/src/Ice | |
parent | The default LMDB map size for IceGrid and IceStorm is now 10MB (Windows) (diff) | |
download | ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.bz2 ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.xz ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.zip |
C++11 mapping initial commit
Diffstat (limited to 'cpp/src/Ice')
109 files changed, 3865 insertions, 1363 deletions
diff --git a/cpp/src/Ice/.depend.mak b/cpp/src/Ice/.depend.mak index 00b45064bf5..f858d5d4a32 100755 --- a/cpp/src/Ice/.depend.mak +++ b/cpp/src/Ice/.depend.mak @@ -7,7 +7,7 @@ Communicator.h: \ "$(slicedir)/Ice/LoggerF.ice" \ "$(slicedir)/Ice/InstrumentationF.ice" \ "$(slicedir)/Ice/ObjectAdapterF.ice" \ - "$(slicedir)/Ice/ObjectFactoryF.ice" \ + "$(slicedir)/Ice/ObjectFactory.ice" \ "$(slicedir)/Ice/RouterF.ice" \ "$(slicedir)/Ice/LocatorF.ice" \ "$(slicedir)/Ice/PluginF.ice" \ @@ -95,7 +95,7 @@ LocalException.h: \ Locator.h: \ "$(slicedir)\Ice\Locator.ice" \ "$(slicedir)/Ice/Identity.ice" \ - "$(slicedir)/Ice/ProcessF.ice" + "$(slicedir)/Ice/Process.ice" LocatorF.h: \ "$(slicedir)\Ice\LocatorF.ice" @@ -128,9 +128,6 @@ ObjectAdapterF.h: \ ObjectFactory.h: \ "$(slicedir)\Ice\ObjectFactory.ice" -ObjectFactoryF.h: \ - "$(slicedir)\Ice\ObjectFactoryF.ice" - Plugin.h: \ "$(slicedir)\Ice\Plugin.ice" \ "$(slicedir)/Ice/LoggerF.ice" \ @@ -206,6 +203,7 @@ Acceptor.obj: \ "$(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" \ @@ -214,6 +212,7 @@ Acceptor.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -248,7 +247,7 @@ Acceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -283,6 +282,7 @@ ACM.obj: \ "$(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" \ @@ -291,6 +291,7 @@ ACM.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\ConnectionIF.h" \ @@ -318,7 +319,7 @@ ACM.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -354,6 +355,7 @@ ACM.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -398,6 +400,7 @@ Application.obj: \ "$(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" \ @@ -406,6 +409,7 @@ Application.obj: \ "$(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" \ @@ -446,7 +450,7 @@ Application.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -460,6 +464,7 @@ Application.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -471,7 +476,6 @@ Application.obj: \ "$(includedir)\Ice\RemoteLogger.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ @@ -493,7 +497,6 @@ Application.obj: \ "$(includedir)\Ice\Stream.h" \ "$(includedir)\Ice\ImplicitContext.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\DispatchInterceptor.h" \ "$(includedir)\Ice\NativePropertiesAdmin.h" \ @@ -533,12 +536,14 @@ AsyncResult.obj: \ "$(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\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" \ @@ -557,7 +562,7 @@ AsyncResult.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -615,6 +620,7 @@ AsyncResult.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -659,6 +665,7 @@ BasicStream.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -667,6 +674,7 @@ BasicStream.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -674,7 +682,7 @@ BasicStream.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -738,6 +746,7 @@ BasicStream.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -747,7 +756,6 @@ BasicStream.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "ObjectFactoryManager.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ @@ -787,6 +795,7 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -795,6 +804,7 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -802,7 +812,7 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -858,6 +868,7 @@ BatchRequestQueue.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -881,6 +892,7 @@ Buffer.obj: \ "$(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" \ @@ -889,6 +901,7 @@ Buffer.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -928,12 +941,14 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -949,7 +964,7 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1007,6 +1022,7 @@ CollocatedRequestHandler.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ @@ -1055,6 +1071,7 @@ CommunicatorI.obj: \ "$(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" \ @@ -1063,6 +1080,7 @@ CommunicatorI.obj: \ "$(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" \ @@ -1090,7 +1108,7 @@ CommunicatorI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1106,6 +1124,7 @@ CommunicatorI.obj: \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1157,6 +1176,7 @@ CommunicatorI.obj: \ "$(includedir)\Ice\ConnectionAsync.h" \ "AcceptorF.h" \ "EndpointI.h" \ + "$(includedir)\Ice\Comparable.h" \ "ReferenceFactory.h" \ "Reference.h" \ "BatchRequestQueue.h" \ @@ -1196,6 +1216,7 @@ ConnectionFactory.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -1204,6 +1225,7 @@ ConnectionFactory.obj: \ "$(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" \ @@ -1236,7 +1258,7 @@ ConnectionFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1272,6 +1294,7 @@ ConnectionFactory.obj: \ "RouterInfoF.h" \ "EndpointI.h" \ "$(includedir)\Ice\InstrumentationF.h" \ + "$(includedir)\Ice\Comparable.h" \ "Instance.h" \ "$(includedir)\IceUtil\RecMutex.h" \ "DefaultsAndOverridesF.h" \ @@ -1292,6 +1315,7 @@ ConnectionFactory.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\LoggerUtil.h" \ @@ -1315,6 +1339,7 @@ ConnectionFactory.obj: \ "BatchRequestQueue.h" \ "SharedContext.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ @@ -1347,6 +1372,7 @@ ConnectionI.obj: \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -1355,6 +1381,7 @@ ConnectionI.obj: \ "$(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" \ @@ -1381,7 +1408,7 @@ ConnectionI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1436,6 +1463,7 @@ ConnectionI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\LoggerUtil.h" \ @@ -1494,12 +1522,14 @@ ConnectionRequestHandler.obj: \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.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" \ @@ -1522,7 +1552,7 @@ ConnectionRequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1542,6 +1572,7 @@ ConnectionRequestHandler.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1575,6 +1606,8 @@ ConnectionRequestHandler.obj: \ "ACM.h" \ "$(includedir)\Ice\ACMF.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ @@ -1626,12 +1659,14 @@ ConnectRequestHandler.obj: \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\EndpointF.h" \ @@ -1654,7 +1689,7 @@ ConnectRequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1670,6 +1705,7 @@ ConnectRequestHandler.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1678,6 +1714,8 @@ ConnectRequestHandler.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "ConnectionRequestHandler.h" \ "RequestHandlerFactory.h" \ "Instance.h" \ @@ -1743,6 +1781,7 @@ DefaultsAndOverrides.obj: \ "$(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" \ @@ -1751,6 +1790,7 @@ DefaultsAndOverrides.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -1785,7 +1825,7 @@ DefaultsAndOverrides.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1802,6 +1842,7 @@ DefaultsAndOverrides.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1829,6 +1870,7 @@ DeprecatedStringConverter.obj: \ "$(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" \ @@ -1837,6 +1879,7 @@ DeprecatedStringConverter.obj: \ "$(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" \ @@ -1877,7 +1920,7 @@ DeprecatedStringConverter.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -1915,6 +1958,7 @@ DeprecatedStringConverter.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -1942,6 +1986,7 @@ DispatchInterceptor.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -1950,6 +1995,7 @@ DispatchInterceptor.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -1965,7 +2011,7 @@ DispatchInterceptor.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2011,6 +2057,7 @@ EndpointFactory.obj: \ "$(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" \ @@ -2019,6 +2066,7 @@ EndpointFactory.obj: \ "$(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" \ @@ -2070,7 +2118,7 @@ EndpointFactory.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2097,6 +2145,7 @@ EndpointFactory.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -2127,6 +2176,7 @@ EndpointFactoryManager.obj: \ "$(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" \ @@ -2135,6 +2185,7 @@ EndpointFactoryManager.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2160,7 +2211,7 @@ EndpointFactoryManager.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2213,6 +2264,7 @@ EndpointFactoryManager.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -2240,6 +2292,7 @@ EndpointI.obj: \ "$(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" \ @@ -2248,6 +2301,7 @@ EndpointI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2286,6 +2340,7 @@ EventHandler.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -2294,6 +2349,7 @@ EventHandler.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2301,7 +2357,7 @@ EventHandler.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2363,6 +2419,7 @@ EventHandler.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -2380,6 +2437,7 @@ Exception.obj: \ "$(includedir)\Ice\ObjectF.h" \ "$(includedir)\IceUtil\Shared.h" \ "$(includedir)\IceUtil\Atomic.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ @@ -2390,6 +2448,7 @@ Exception.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2429,7 +2488,7 @@ Exception.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2442,6 +2501,7 @@ Exception.obj: \ "$(includedir)\Ice\SlicedData.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Stream.h" \ "$(includedir)\IceUtil\StringUtil.h" \ @@ -2460,12 +2520,13 @@ FactoryTable.obj: \ "$(includedir)\IceUtil\Atomic.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ProxyF.h" \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -2474,10 +2535,10 @@ FactoryTable.obj: \ "$(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" \ FactoryTableInit.obj: \ FactoryTableInit.cpp \ @@ -2495,12 +2556,13 @@ FactoryTableInit.obj: \ "$(includedir)\IceUtil\Atomic.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ProxyF.h" \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -2509,11 +2571,11 @@ FactoryTableInit.obj: \ "$(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\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ GCObject.obj: \ @@ -2538,6 +2600,7 @@ GCObject.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -2546,6 +2609,7 @@ GCObject.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2580,6 +2644,7 @@ HttpParser.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -2588,6 +2653,7 @@ HttpParser.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -2595,7 +2661,7 @@ HttpParser.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2621,6 +2687,7 @@ ImplicitContextI.obj: \ "$(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" \ @@ -2629,6 +2696,7 @@ ImplicitContextI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Identity.h" \ @@ -2649,7 +2717,7 @@ ImplicitContextI.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2677,12 +2745,14 @@ Incoming.obj: \ "$(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\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" \ @@ -2701,7 +2771,7 @@ Incoming.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2781,6 +2851,7 @@ Incoming.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\LoggerUtil.h" \ @@ -2809,12 +2880,14 @@ IncomingAsync.obj: \ "$(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\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" \ @@ -2832,7 +2905,7 @@ IncomingAsync.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2907,6 +2980,7 @@ IncomingAsync.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "ReplyStatus.h" \ @@ -2939,6 +3013,7 @@ Initialize.obj: \ "$(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" \ @@ -2947,6 +3022,7 @@ Initialize.obj: \ "$(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" \ @@ -2974,7 +3050,7 @@ Initialize.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -2990,6 +3066,7 @@ Initialize.obj: \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3060,6 +3137,7 @@ Instance.obj: \ "$(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" \ @@ -3068,6 +3146,7 @@ Instance.obj: \ "$(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" \ @@ -3103,7 +3182,7 @@ Instance.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3133,6 +3212,7 @@ Instance.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3142,19 +3222,18 @@ Instance.obj: \ "Network.h" \ "ProtocolInstanceF.h" \ "RouterInfo.h" \ - "$(includedir)\Ice\RouterF.h" \ - "EndpointIF.h" \ "$(includedir)\Ice\Router.h" \ + "EndpointIF.h" \ + "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\LocatorF.h" \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ "ReferenceFactory.h" \ "Reference.h" \ + "$(includedir)\Ice\RouterF.h" \ "BatchRequestQueue.h" \ "SharedContext.h" \ "$(includedir)\Ice\Properties.h" \ @@ -3228,6 +3307,7 @@ InstrumentationI.obj: \ "$(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" \ @@ -3236,6 +3316,7 @@ InstrumentationI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -3271,7 +3352,7 @@ InstrumentationI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3281,13 +3362,13 @@ InstrumentationI.obj: \ "$(includedir)\Ice\Metrics.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\MetricsAdminI.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -3340,6 +3421,7 @@ IPEndpointI.obj: \ "$(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" \ @@ -3348,6 +3430,7 @@ IPEndpointI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -3383,7 +3466,7 @@ IPEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3423,6 +3506,7 @@ IPEndpointI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3472,6 +3556,7 @@ LocatorInfo.obj: \ "$(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" \ @@ -3480,6 +3565,7 @@ LocatorInfo.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\ConnectionIF.h" \ @@ -3507,7 +3593,7 @@ LocatorInfo.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3519,6 +3605,7 @@ LocatorInfo.obj: \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3526,8 +3613,7 @@ LocatorInfo.obj: \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ + "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "Instance.h" \ @@ -3561,7 +3647,6 @@ LocatorInfo.obj: \ "ImplicitContextI.h" \ "$(includedir)\Ice\ImplicitContext.h" \ "$(includedir)\Ice\FacetMap.h" \ - "$(includedir)\Ice\Process.h" \ "TraceLevels.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ @@ -3593,6 +3678,7 @@ LoggerAdminI.obj: \ "$(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" \ @@ -3601,6 +3687,7 @@ LoggerAdminI.obj: \ "$(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" \ @@ -3636,7 +3723,7 @@ LoggerAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3655,6 +3742,7 @@ LoggerAdminI.obj: \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3670,7 +3758,6 @@ LoggerAdminI.obj: \ "$(includedir)\Ice\RemoteLogger.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectAdapter.h" \ "$(includedir)\Ice\Endpoint.h" \ "$(includedir)\Ice\Connection.h" \ @@ -3693,6 +3780,7 @@ LoggerI.obj: \ "$(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" \ @@ -3701,6 +3789,7 @@ LoggerI.obj: \ "$(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" \ @@ -3732,6 +3821,7 @@ LoggerUtil.obj: \ "$(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" \ @@ -3740,6 +3830,7 @@ LoggerUtil.obj: \ "$(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" \ @@ -3793,7 +3884,7 @@ LoggerUtil.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3819,6 +3910,7 @@ LoggerUtil.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3839,6 +3931,7 @@ MetricsAdminI.obj: \ "$(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" \ @@ -3847,6 +3940,7 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -3881,7 +3975,7 @@ MetricsAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -3890,6 +3984,7 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -3910,7 +4005,6 @@ MetricsAdminI.obj: \ "$(includedir)\Ice\Metrics.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "InstrumentationI.h" \ "$(includedir)\Ice\MetricsObserverI.h" \ "..\..\src\IceUtil\StopWatch.h" \ @@ -3966,6 +4060,7 @@ MetricsObserverI.obj: \ "$(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" \ @@ -3974,6 +4069,7 @@ MetricsObserverI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -4009,7 +4105,7 @@ MetricsObserverI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4019,13 +4115,13 @@ MetricsObserverI.obj: \ "$(includedir)\Ice\Metrics.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\MetricsAdminI.h" \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -4060,6 +4156,7 @@ Network.obj: \ "$(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" \ @@ -4068,6 +4165,7 @@ Network.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -4102,7 +4200,7 @@ Network.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4150,6 +4248,7 @@ Network.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -4179,6 +4278,7 @@ NetworkProxy.obj: \ "$(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" \ @@ -4187,6 +4287,7 @@ NetworkProxy.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -4221,7 +4322,7 @@ NetworkProxy.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4236,6 +4337,7 @@ NetworkProxy.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -4264,6 +4366,7 @@ Object.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -4272,6 +4375,7 @@ Object.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -4286,7 +4390,7 @@ Object.obj: \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4317,6 +4421,7 @@ Object.obj: \ "$(includedir)\Ice\SlicedData.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ ObjectAdapterFactory.obj: \ ObjectAdapterFactory.cpp \ @@ -4341,6 +4446,7 @@ ObjectAdapterFactory.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -4349,6 +4455,7 @@ ObjectAdapterFactory.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ @@ -4377,7 +4484,7 @@ ObjectAdapterFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4432,6 +4539,7 @@ ObjectAdapterI.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -4440,6 +4548,7 @@ ObjectAdapterI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ @@ -4468,7 +4577,7 @@ ObjectAdapterI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4518,6 +4627,7 @@ ObjectAdapterI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "ProxyFactory.h" \ @@ -4545,16 +4655,16 @@ ObjectAdapterI.obj: \ "RequestHandler.h" \ "ResponseHandler.h" \ "$(includedir)\Ice\ConnectionAsync.h" \ + "$(includedir)\Ice\Comparable.h" \ "ServantManager.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "ThreadPool.h" \ @@ -4562,7 +4672,6 @@ ObjectAdapterI.obj: \ "$(includedir)\IceUtil\StringUtil.h" \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\ImplicitContextF.h" \ - "$(includedir)\Ice\Router.h" \ "DefaultsAndOverrides.h" \ "TraceLevels.h" \ "PropertyNames.h" \ @@ -4583,11 +4692,12 @@ ObjectFactoryManager.obj: \ "$(includedir)\Ice\Handle.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\ObjectFactoryF.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" \ @@ -4596,10 +4706,10 @@ ObjectFactoryManager.obj: \ "$(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\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "$(includedir)\Ice\LocalException.h" \ @@ -4622,6 +4732,7 @@ ObserverHelper.obj: \ "$(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" \ @@ -4630,6 +4741,7 @@ ObserverHelper.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -4666,7 +4778,7 @@ ObserverHelper.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4682,6 +4794,7 @@ ObserverHelper.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -4738,6 +4851,7 @@ OpaqueEndpointI.obj: \ "$(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" \ @@ -4746,6 +4860,7 @@ OpaqueEndpointI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -4776,7 +4891,7 @@ OpaqueEndpointI.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4839,12 +4954,14 @@ Outgoing.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -4852,7 +4969,7 @@ Outgoing.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -4913,6 +5030,7 @@ Outgoing.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -4964,12 +5082,14 @@ OutgoingAsync.obj: \ "$(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\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" \ @@ -4988,7 +5108,7 @@ OutgoingAsync.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5042,6 +5162,7 @@ OutgoingAsync.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ @@ -5089,6 +5210,7 @@ PluginManagerI.obj: \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -5097,6 +5219,7 @@ PluginManagerI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -5132,7 +5255,7 @@ PluginManagerI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5141,6 +5264,7 @@ PluginManagerI.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5205,6 +5329,7 @@ PropertiesAdminI.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -5213,6 +5338,7 @@ PropertiesAdminI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ @@ -5243,7 +5369,7 @@ PropertiesAdminI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5252,6 +5378,7 @@ PropertiesAdminI.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5285,6 +5412,7 @@ PropertiesI.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -5293,6 +5421,7 @@ PropertiesI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\ConnectionIF.h" \ @@ -5322,7 +5451,7 @@ PropertiesI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5331,6 +5460,7 @@ PropertiesI.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5381,6 +5511,7 @@ Protocol.obj: \ "$(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" \ @@ -5389,6 +5520,7 @@ Protocol.obj: \ "$(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" \ @@ -5412,6 +5544,7 @@ ProtocolInstance.obj: \ "$(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" \ @@ -5420,6 +5553,7 @@ ProtocolInstance.obj: \ "$(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" \ @@ -5454,7 +5588,7 @@ ProtocolInstance.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5500,6 +5634,7 @@ ProtocolInstance.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5528,6 +5663,7 @@ ProtocolPluginFacade.obj: \ "$(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" \ @@ -5536,6 +5672,7 @@ ProtocolPluginFacade.obj: \ "$(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" \ @@ -5587,7 +5724,7 @@ ProtocolPluginFacade.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5616,6 +5753,7 @@ ProtocolPluginFacade.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5651,12 +5789,14 @@ Proxy.obj: \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.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" \ @@ -5681,7 +5821,7 @@ Proxy.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5693,6 +5833,7 @@ Proxy.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5752,6 +5893,8 @@ Proxy.obj: \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Process.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "ConnectionI.h" \ "..\..\src\IceUtil\StopWatch.h" \ @@ -5788,6 +5931,7 @@ ProxyFactory.obj: \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\OutgoingAsyncF.h" \ "$(includedir)\Ice\Properties.h" \ @@ -5797,6 +5941,7 @@ ProxyFactory.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ConnectionIF.h" \ "$(includedir)\Ice\RequestHandlerF.h" \ @@ -5823,7 +5968,7 @@ ProxyFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5832,6 +5977,7 @@ ProxyFactory.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -5882,6 +6028,8 @@ ProxyFactory.obj: \ "SharedContext.h" \ "LocatorInfo.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "TraceLevels.h" \ @@ -5906,6 +6054,7 @@ Reference.obj: \ "$(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" \ @@ -5914,6 +6063,7 @@ Reference.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -5946,7 +6096,7 @@ Reference.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -5962,6 +6112,7 @@ Reference.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -6011,12 +6162,11 @@ Reference.obj: \ "ProtocolInstanceF.h" \ "RouterInfo.h" \ "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\Functional.h" \ "$(includedir)\IceUtil\Functional.h" \ "ConnectionI.h" \ @@ -6054,6 +6204,7 @@ ReferenceFactory.obj: \ "$(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" \ @@ -6062,6 +6213,7 @@ ReferenceFactory.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -6096,7 +6248,7 @@ ReferenceFactory.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6105,6 +6257,7 @@ ReferenceFactory.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -6175,12 +6328,11 @@ ReferenceFactory.obj: \ "EndpointFactoryF.h" \ "RouterInfo.h" \ "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "LocatorInfo.h" \ "$(includedir)\Ice\Locator.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\LoggerUtil.h" \ "$(includedir)\Ice\Logger.h" \ "DefaultsAndOverrides.h" \ @@ -6202,6 +6354,7 @@ RegisterPluginsInit.obj: \ "$(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" \ @@ -6210,6 +6363,7 @@ RegisterPluginsInit.obj: \ "$(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" \ @@ -6247,7 +6401,7 @@ RegisterPluginsInit.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6287,12 +6441,14 @@ RequestHandler.obj: \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -6322,7 +6478,7 @@ RequestHandler.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6338,6 +6494,7 @@ RequestHandler.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -6380,12 +6537,14 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -6400,7 +6559,7 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6433,12 +6592,15 @@ RequestHandlerFactory.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\PropertiesAdmin.h" \ "RouterInfo.h" \ + "$(includedir)\Ice\Router.h" \ + "$(includedir)\Ice\Comparable.h" \ "ObjectAdapterFactory.h" \ "ObjectAdapterI.h" \ "$(includedir)\IceUtil\RecMutex.h" \ @@ -6486,6 +6648,7 @@ ResponseHandler.obj: \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -6494,6 +6657,7 @@ ResponseHandler.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -6538,12 +6702,14 @@ RetryQueue.obj: \ "$(includedir)\Ice\CommunicatorF.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ "$(includedir)\Ice\ObjectF.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.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" \ @@ -6560,7 +6726,7 @@ RetryQueue.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6606,6 +6772,7 @@ RetryQueue.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -6630,11 +6797,12 @@ RouterInfo.obj: \ "$(includedir)\Ice\Handle.h" \ "$(includedir)\IceUtil\Handle.h" \ "$(includedir)\Ice\Config.h" \ - "$(includedir)\Ice\RouterF.h" \ + "$(includedir)\Ice\Router.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" \ @@ -6643,6 +6811,7 @@ RouterInfo.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\ConnectionIF.h" \ @@ -6672,22 +6841,23 @@ RouterInfo.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ "$(includedir)\Ice\SlicedDataF.h" \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ - "EndpointIF.h" \ - "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ + "$(includedir)\Ice\BuiltinSequences.h" \ + "EndpointIF.h" \ + "$(includedir)\Ice\Comparable.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Connection.h" \ "$(includedir)\Ice\Endpoint.h" \ @@ -6695,6 +6865,7 @@ RouterInfo.obj: \ "$(includedir)\IceUtil\Functional.h" \ "Reference.h" \ "ReferenceFactoryF.h" \ + "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ "LocatorInfoF.h" \ "BatchRequestQueue.h" \ @@ -6730,6 +6901,7 @@ Selector.obj: \ "$(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" \ @@ -6738,6 +6910,7 @@ Selector.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\Ice\ProxyFactoryF.h" \ "$(includedir)\Ice\ConnectionIF.h" \ @@ -6765,7 +6938,7 @@ Selector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6810,6 +6983,7 @@ Selector.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -6839,6 +7013,7 @@ ServantManager.obj: \ "$(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" \ @@ -6847,6 +7022,7 @@ ServantManager.obj: \ "$(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" \ @@ -6898,7 +7074,7 @@ ServantManager.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -6923,6 +7099,7 @@ ServantManager.obj: \ "$(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)\IceUtil\StringUtil.h" \ @@ -6957,6 +7134,7 @@ Service.obj: \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -6965,6 +7143,7 @@ Service.obj: \ "$(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" \ @@ -6996,7 +7175,7 @@ Service.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7010,6 +7189,7 @@ Service.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7021,7 +7201,6 @@ Service.obj: \ "$(includedir)\Ice\RemoteLogger.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ @@ -7044,7 +7223,6 @@ Service.obj: \ "$(includedir)\Ice\Stream.h" \ "$(includedir)\Ice\ImplicitContext.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\DispatchInterceptor.h" \ "$(includedir)\Ice\NativePropertiesAdmin.h" \ @@ -7089,6 +7267,7 @@ SliceChecksums.obj: \ "$(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" \ @@ -7097,6 +7276,7 @@ SliceChecksums.obj: \ "$(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" \ @@ -7131,6 +7311,7 @@ SlicedData.obj: \ "$(includedir)\Ice\IncomingAsyncF.h" \ "$(includedir)\Ice\Current.h" \ "$(includedir)\IceUtil\PushDisableWarnings.h" \ + "$(includedir)\Ice\ValueF.h" \ "$(includedir)\Ice\Exception.h" \ "$(includedir)\Ice\Format.h" \ "$(includedir)\Ice\StreamF.h" \ @@ -7139,6 +7320,7 @@ SlicedData.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -7147,10 +7329,11 @@ SlicedData.obj: \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\InstanceF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7173,6 +7356,7 @@ Stream.obj: \ "$(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\LocalObject.h" \ @@ -7180,6 +7364,7 @@ Stream.obj: \ "$(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" \ @@ -7213,7 +7398,7 @@ Stream.obj: \ "$(includedir)\Ice\Instrumentation.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7238,6 +7423,7 @@ StreamI.obj: \ "$(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\LocalObject.h" \ @@ -7245,6 +7431,7 @@ StreamI.obj: \ "$(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" \ @@ -7278,7 +7465,7 @@ StreamI.obj: \ "$(includedir)\Ice\Instrumentation.h" \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\IceUtil\StringConverter.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7323,6 +7510,7 @@ StreamI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7349,6 +7537,7 @@ StreamSocket.obj: \ "$(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" \ @@ -7357,6 +7546,7 @@ StreamSocket.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -7391,7 +7581,7 @@ StreamSocket.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7438,6 +7628,7 @@ StreamSocket.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7459,6 +7650,7 @@ StringConverterPlugin.obj: \ "$(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" \ @@ -7467,6 +7659,7 @@ StringConverterPlugin.obj: \ "$(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" \ @@ -7513,7 +7706,7 @@ StringConverterPlugin.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7521,6 +7714,7 @@ StringConverterPlugin.obj: \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7565,6 +7759,7 @@ TcpAcceptor.obj: \ "$(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" \ @@ -7573,6 +7768,7 @@ TcpAcceptor.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -7607,7 +7803,7 @@ TcpAcceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7655,6 +7851,7 @@ TcpAcceptor.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7695,6 +7892,7 @@ TcpConnector.obj: \ "$(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" \ @@ -7703,6 +7901,7 @@ TcpConnector.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -7737,7 +7936,7 @@ TcpConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7785,6 +7984,7 @@ TcpConnector.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7828,6 +8028,7 @@ TcpEndpointI.obj: \ "$(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" \ @@ -7836,6 +8037,7 @@ TcpEndpointI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -7871,7 +8073,7 @@ TcpEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -7914,6 +8116,7 @@ TcpEndpointI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -7947,6 +8150,7 @@ TcpTransceiver.obj: \ "$(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" \ @@ -7955,6 +8159,7 @@ TcpTransceiver.obj: \ "$(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" \ @@ -7993,7 +8198,7 @@ TcpTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8039,6 +8244,7 @@ TcpTransceiver.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8071,6 +8277,7 @@ ThreadPool.obj: \ "$(includedir)\Ice\ProxyHandle.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" \ @@ -8079,6 +8286,7 @@ ThreadPool.obj: \ "$(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" \ @@ -8108,7 +8316,7 @@ ThreadPool.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8154,6 +8362,7 @@ ThreadPool.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8187,6 +8396,7 @@ TraceLevels.obj: \ "$(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" \ @@ -8195,6 +8405,7 @@ TraceLevels.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -8229,7 +8440,7 @@ TraceLevels.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8239,6 +8450,7 @@ TraceLevels.obj: \ "$(includedir)\Ice\Properties.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8269,6 +8481,7 @@ TraceUtil.obj: \ "$(includedir)\IceUtil\Handle.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" \ @@ -8277,6 +8490,7 @@ TraceUtil.obj: \ "$(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" \ @@ -8321,7 +8535,7 @@ TraceUtil.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8349,6 +8563,7 @@ TraceUtil.obj: \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8373,6 +8588,7 @@ Transceiver.obj: \ "$(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" \ @@ -8381,6 +8597,7 @@ Transceiver.obj: \ "$(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" \ @@ -8419,7 +8636,7 @@ Transceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8451,6 +8668,7 @@ UdpConnector.obj: \ "$(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" \ @@ -8459,6 +8677,7 @@ UdpConnector.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -8493,7 +8712,7 @@ UdpConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8537,6 +8756,7 @@ UdpConnector.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8577,6 +8797,7 @@ UdpEndpointI.obj: \ "$(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" \ @@ -8585,6 +8806,7 @@ UdpEndpointI.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -8620,7 +8842,7 @@ UdpEndpointI.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8666,6 +8888,7 @@ UdpEndpointI.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8696,6 +8919,7 @@ UdpTransceiver.obj: \ "$(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" \ @@ -8704,6 +8928,7 @@ UdpTransceiver.obj: \ "$(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" \ @@ -8737,7 +8962,7 @@ UdpTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8787,6 +9012,7 @@ UdpTransceiver.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8813,6 +9039,7 @@ WSAcceptor.obj: \ "$(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" \ @@ -8821,6 +9048,7 @@ WSAcceptor.obj: \ "$(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" \ @@ -8863,7 +9091,7 @@ WSAcceptor.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -8907,6 +9135,7 @@ WSAcceptor.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -8934,6 +9163,7 @@ WSConnector.obj: \ "$(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" \ @@ -8942,6 +9172,7 @@ WSConnector.obj: \ "$(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" \ @@ -8982,7 +9213,7 @@ WSConnector.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9026,6 +9257,7 @@ WSConnector.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -9057,6 +9289,7 @@ WSEndpoint.obj: \ "$(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" \ @@ -9065,6 +9298,7 @@ WSEndpoint.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -9111,7 +9345,7 @@ WSEndpoint.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9150,6 +9384,7 @@ WSEndpoint.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -9180,6 +9415,7 @@ WSTransceiver.obj: \ "$(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" \ @@ -9188,6 +9424,7 @@ WSTransceiver.obj: \ "$(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" \ @@ -9222,7 +9459,7 @@ WSTransceiver.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9268,6 +9505,7 @@ WSTransceiver.obj: \ "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -9305,6 +9543,7 @@ DLLMain.obj: \ "$(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" \ @@ -9313,6 +9552,7 @@ DLLMain.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Identity.h" \ @@ -9358,7 +9598,7 @@ DLLMain.obj: \ "$(includedir)\Ice\BasicStream.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9371,6 +9611,7 @@ DLLMain.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -9382,7 +9623,6 @@ DLLMain.obj: \ "$(includedir)\Ice\RemoteLogger.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Communicator.h" \ "$(includedir)\Ice\RouterF.h" \ "$(includedir)\Ice\LocatorF.h" \ @@ -9404,7 +9644,6 @@ DLLMain.obj: \ "$(includedir)\IceUtil\Functional.h" \ "$(includedir)\Ice\Stream.h" \ "$(includedir)\Ice\Locator.h" \ - "$(includedir)\Ice\ProcessF.h" \ "$(includedir)\Ice\Router.h" \ "$(includedir)\Ice\DispatchInterceptor.h" \ "$(includedir)\Ice\NativePropertiesAdmin.h" \ @@ -9427,6 +9666,7 @@ BuiltinSequences.obj: \ "$(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" \ @@ -9435,6 +9675,7 @@ BuiltinSequences.obj: \ "$(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" \ @@ -9453,7 +9694,7 @@ BuiltinSequences.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9475,6 +9716,7 @@ Communicator.obj: \ "$(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" \ @@ -9483,6 +9725,7 @@ Communicator.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -9517,7 +9760,7 @@ Communicator.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9526,6 +9769,7 @@ Communicator.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -9542,7 +9786,6 @@ Communicator.obj: \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\FacetMap.h" \ "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -9563,6 +9806,7 @@ CommunicatorF.obj: \ "$(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" \ @@ -9571,6 +9815,7 @@ CommunicatorF.obj: \ "$(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" \ @@ -9589,6 +9834,7 @@ Connection.obj: \ "$(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" \ @@ -9597,6 +9843,7 @@ Connection.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -9631,7 +9878,7 @@ Connection.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9659,6 +9906,7 @@ ConnectionF.obj: \ "$(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" \ @@ -9667,6 +9915,7 @@ ConnectionF.obj: \ "$(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" \ @@ -9685,6 +9934,7 @@ Current.obj: \ "$(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" \ @@ -9693,6 +9943,7 @@ Current.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -9710,7 +9961,7 @@ Current.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9732,6 +9983,7 @@ Endpoint.obj: \ "$(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" \ @@ -9740,6 +9992,7 @@ Endpoint.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Version.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -9760,7 +10013,7 @@ Endpoint.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9782,6 +10035,7 @@ EndpointF.obj: \ "$(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" \ @@ -9790,6 +10044,7 @@ EndpointF.obj: \ "$(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" \ @@ -9808,6 +10063,7 @@ EndpointTypes.obj: \ "$(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" \ @@ -9816,31 +10072,10 @@ EndpointTypes.obj: \ "$(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\ObjectFactoryF.h" \ - "$(includedir)\Ice\ObjectFactoryManagerF.h" \ - "$(includedir)\Ice\Buffer.h" \ - "$(includedir)\Ice\Protocol.h" \ - "$(includedir)\Ice\SlicedDataF.h" \ - "$(includedir)\Ice\UserExceptionFactory.h" \ - "$(includedir)\Ice\FactoryTable.h" \ FacetMap.obj: \ FacetMap.cpp \ @@ -9856,6 +10091,7 @@ FacetMap.obj: \ "$(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" \ @@ -9864,6 +10100,7 @@ FacetMap.obj: \ "$(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" \ @@ -9882,7 +10119,7 @@ FacetMap.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9904,6 +10141,7 @@ Identity.obj: \ "$(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" \ @@ -9912,6 +10150,7 @@ Identity.obj: \ "$(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" \ @@ -9929,7 +10168,7 @@ Identity.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -9951,6 +10190,7 @@ ImplicitContext.obj: \ "$(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" \ @@ -9959,6 +10199,7 @@ ImplicitContext.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Identity.h" \ @@ -9979,7 +10220,7 @@ ImplicitContext.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10001,6 +10242,7 @@ ImplicitContextF.obj: \ "$(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" \ @@ -10009,6 +10251,7 @@ ImplicitContextF.obj: \ "$(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" \ @@ -10027,6 +10270,7 @@ Instrumentation.obj: \ "$(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" \ @@ -10035,6 +10279,7 @@ Instrumentation.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\EndpointF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -10054,7 +10299,7 @@ Instrumentation.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10076,6 +10321,7 @@ InstrumentationF.obj: \ "$(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" \ @@ -10084,6 +10330,7 @@ InstrumentationF.obj: \ "$(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" \ @@ -10102,6 +10349,7 @@ LocalException.obj: \ "$(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" \ @@ -10110,6 +10358,7 @@ LocalException.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -10129,7 +10378,7 @@ LocalException.obj: \ "$(includedir)\Ice\Current.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10151,6 +10400,7 @@ Locator.obj: \ "$(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" \ @@ -10159,6 +10409,7 @@ Locator.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10193,7 +10444,7 @@ Locator.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10202,6 +10453,7 @@ Locator.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -10209,8 +10461,7 @@ Locator.obj: \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ - "$(includedir)\Ice\ProcessF.h" \ + "$(includedir)\Ice\Process.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\Outgoing.h" \ @@ -10233,6 +10484,7 @@ LocatorF.obj: \ "$(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" \ @@ -10241,6 +10493,7 @@ LocatorF.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10275,7 +10528,7 @@ LocatorF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10297,6 +10550,7 @@ Logger.obj: \ "$(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" \ @@ -10305,6 +10559,7 @@ Logger.obj: \ "$(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" \ @@ -10323,6 +10578,7 @@ LoggerF.obj: \ "$(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" \ @@ -10331,6 +10587,7 @@ LoggerF.obj: \ "$(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" \ @@ -10349,6 +10606,7 @@ Metrics.obj: \ "$(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" \ @@ -10357,6 +10615,7 @@ Metrics.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10391,7 +10650,7 @@ Metrics.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10400,13 +10659,13 @@ Metrics.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Outgoing.h" \ @@ -10429,6 +10688,7 @@ ObjectAdapter.obj: \ "$(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" \ @@ -10437,6 +10697,7 @@ ObjectAdapter.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10471,7 +10732,7 @@ ObjectAdapter.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10498,6 +10759,7 @@ ObjectAdapterF.obj: \ "$(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" \ @@ -10506,6 +10768,7 @@ ObjectAdapterF.obj: \ "$(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" \ @@ -10524,6 +10787,7 @@ ObjectFactory.obj: \ "$(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" \ @@ -10532,6 +10796,7 @@ ObjectFactory.obj: \ "$(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" \ @@ -10550,7 +10815,6 @@ ObjectFactory.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10558,32 +10822,6 @@ ObjectFactory.obj: \ "$(includedir)\Ice\UserExceptionFactory.h" \ "$(includedir)\Ice\FactoryTable.h" \ -ObjectFactoryF.obj: \ - ObjectFactoryF.cpp \ - "$(includedir)\Ice\ObjectFactoryF.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\Exception.h" \ - "$(includedir)\Ice\Format.h" \ - "$(includedir)\Ice\StreamF.h" \ - "$(includedir)\Ice\LocalObject.h" \ - "$(includedir)\Ice\LocalObjectF.h" \ - "$(includedir)\Ice\StreamHelpers.h" \ - "$(includedir)\IceUtil\ScopedArray.h" \ - "$(includedir)\IceUtil\Iterator.h" \ - "$(includedir)\IceUtil\Optional.h" \ - "$(includedir)\IceUtil\UndefSysMacros.h" \ - "$(includedir)\IceUtil\PopDisableWarnings.h" \ - Plugin.obj: \ Plugin.cpp \ "$(includedir)\Ice\Plugin.h" \ @@ -10598,6 +10836,7 @@ Plugin.obj: \ "$(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" \ @@ -10606,6 +10845,7 @@ Plugin.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\LoggerF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -10626,7 +10866,7 @@ Plugin.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10648,6 +10888,7 @@ PluginF.obj: \ "$(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" \ @@ -10656,6 +10897,7 @@ PluginF.obj: \ "$(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" \ @@ -10674,6 +10916,7 @@ Process.obj: \ "$(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" \ @@ -10682,6 +10925,7 @@ Process.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10716,7 +10960,7 @@ Process.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10725,13 +10969,13 @@ Process.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -10752,6 +10996,7 @@ ProcessF.obj: \ "$(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" \ @@ -10760,6 +11005,7 @@ ProcessF.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10794,7 +11040,7 @@ ProcessF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10816,6 +11062,7 @@ Properties.obj: \ "$(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" \ @@ -10824,6 +11071,7 @@ Properties.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10858,7 +11106,7 @@ Properties.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10867,6 +11115,7 @@ Properties.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -10875,7 +11124,6 @@ Properties.obj: \ "$(includedir)\Ice\PropertiesAdmin.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -10896,6 +11144,7 @@ PropertiesAdmin.obj: \ "$(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" \ @@ -10904,6 +11153,7 @@ PropertiesAdmin.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -10938,7 +11188,7 @@ PropertiesAdmin.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -10947,6 +11197,7 @@ PropertiesAdmin.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ @@ -10954,7 +11205,6 @@ PropertiesAdmin.obj: \ "$(includedir)\Ice\IncomingAsync.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -10975,6 +11225,7 @@ PropertiesF.obj: \ "$(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" \ @@ -10983,6 +11234,7 @@ PropertiesF.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -11017,7 +11269,7 @@ PropertiesF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11039,6 +11291,7 @@ RemoteLogger.obj: \ "$(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" \ @@ -11047,6 +11300,7 @@ RemoteLogger.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -11081,7 +11335,7 @@ RemoteLogger.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11090,13 +11344,13 @@ RemoteLogger.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\FactoryTableInit.h" \ "$(includedir)\Ice\DefaultObjectFactory.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocalException.h" \ "$(includedir)\Ice\Outgoing.h" \ @@ -11119,6 +11373,7 @@ Router.obj: \ "$(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" \ @@ -11127,6 +11382,7 @@ Router.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -11161,7 +11417,7 @@ Router.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11170,13 +11426,13 @@ Router.obj: \ "$(includedir)\Ice\FactoryTable.h" \ "$(includedir)\Ice\GCObject.h" \ "$(includedir)\IceUtil\MutexPtrLock.h" \ + "$(includedir)\Ice\Value.h" \ "$(includedir)\Ice\Incoming.h" \ "$(includedir)\Ice\ServantLocatorF.h" \ "$(includedir)\Ice\ServantManagerF.h" \ "$(includedir)\Ice\ResponseHandlerF.h" \ "$(includedir)\Ice\BuiltinSequences.h" \ "$(includedir)\Ice\LocalException.h" \ - "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\Outgoing.h" \ "$(includedir)\Ice\OutgoingAsync.h" \ "$(includedir)\IceUtil\Timer.h" \ @@ -11197,6 +11453,7 @@ RouterF.obj: \ "$(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" \ @@ -11205,6 +11462,7 @@ RouterF.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\Ice\Proxy.h" \ "$(includedir)\IceUtil\Mutex.h" \ "$(includedir)\IceUtil\Lock.h" \ @@ -11239,7 +11497,7 @@ RouterF.obj: \ "$(includedir)\IceUtil\StringConverter.h" \ "$(includedir)\Ice\Object.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11261,6 +11519,7 @@ ServantLocator.obj: \ "$(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" \ @@ -11269,6 +11528,7 @@ ServantLocator.obj: \ "$(includedir)\Ice\StreamHelpers.h" \ "$(includedir)\IceUtil\ScopedArray.h" \ "$(includedir)\IceUtil\Iterator.h" \ + "$(includedir)\Ice\Traits.h" \ "$(includedir)\IceUtil\Optional.h" \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\IceUtil\UndefSysMacros.h" \ @@ -11287,7 +11547,7 @@ ServantLocator.obj: \ "$(includedir)\IceUtil\Time.h" \ "$(includedir)\IceUtil\MutexProtocol.h" \ "$(includedir)\Ice\IncomingAsyncF.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11309,6 +11569,7 @@ ServantLocatorF.obj: \ "$(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" \ @@ -11317,6 +11578,7 @@ ServantLocatorF.obj: \ "$(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" \ @@ -11335,6 +11597,7 @@ SliceChecksumDict.obj: \ "$(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" \ @@ -11343,6 +11606,7 @@ SliceChecksumDict.obj: \ "$(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" \ @@ -11361,7 +11625,7 @@ SliceChecksumDict.obj: \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ "$(includedir)\Ice\Version.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ @@ -11383,6 +11647,7 @@ Version.obj: \ "$(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" \ @@ -11391,6 +11656,7 @@ Version.obj: \ "$(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" \ @@ -11408,7 +11674,7 @@ Version.obj: \ "$(includedir)\Ice\ObjectAdapterF.h" \ "$(includedir)\Ice\ConnectionF.h" \ "$(includedir)\Ice\Identity.h" \ - "$(includedir)\Ice\ObjectFactoryF.h" \ + "$(includedir)\Ice\ObjectFactory.h" \ "$(includedir)\Ice\ObjectFactoryManagerF.h" \ "$(includedir)\Ice\Buffer.h" \ "$(includedir)\Ice\Protocol.h" \ diff --git a/cpp/src/Ice/ACM.cpp b/cpp/src/Ice/ACM.cpp index c7cd625b253..79a9785d5e0 100644 --- a/cpp/src/Ice/ACM.cpp +++ b/cpp/src/Ice/ACM.cpp @@ -18,8 +18,10 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(ACMMonitor* p) { return p; } IceUtil::Shared* IceInternal::upCast(FactoryACMMonitor* p) { return p; } +#endif IceInternal::ACMConfig::ACMConfig(bool server) : timeout(IceUtil::Time::seconds(60)), @@ -107,7 +109,7 @@ IceInternal::FactoryACMMonitor::add(const ConnectionIPtr& connection) if(_connections.empty()) { _connections.insert(connection); - _instance->timer()->scheduleRepeated(this, _config.timeout / 2); + _instance->timer()->scheduleRepeated(ICE_SHARED_FROM_THIS, _config.timeout / 2); } else { @@ -156,7 +158,7 @@ IceInternal::FactoryACMMonitor::acm(const IceUtil::Optional<int>& timeout, { config.heartbeat = *heartbeat; } - return new ConnectionACMMonitor(this, _instance->timer(), config); + return ICE_MAKE_SHARED(ConnectionACMMonitor, ICE_SHARED_FROM_THIS, _instance->timer(), config); } Ice::ACM @@ -201,7 +203,7 @@ IceInternal::FactoryACMMonitor::runTimerTask() if(_connections.empty()) { - _instance->timer()->cancel(this); + _instance->timer()->cancel(ICE_SHARED_FROM_THIS); return; } } @@ -275,7 +277,7 @@ IceInternal::ConnectionACMMonitor::add(const ConnectionIPtr& connection) _connection = connection; if(_config.timeout != IceUtil::Time()) { - _timer->scheduleRepeated(this, _config.timeout / 2); + _timer->scheduleRepeated(ICE_SHARED_FROM_THIS, _config.timeout / 2); } } @@ -286,7 +288,7 @@ IceInternal::ConnectionACMMonitor::remove(const ConnectionIPtr& connection) assert(_connection == connection); if(_config.timeout != IceUtil::Time()) { - _timer->cancel(this); + _timer->cancel(ICE_SHARED_FROM_THIS); } _connection = 0; } diff --git a/cpp/src/Ice/ACM.h b/cpp/src/Ice/ACM.h index c791708a202..9d8f151daac 100644 --- a/cpp/src/Ice/ACM.h +++ b/cpp/src/Ice/ACM.h @@ -50,7 +50,8 @@ public: virtual Ice::ACM getACM() = 0; }; -class FactoryACMMonitor : public ACMMonitor, public ::IceUtil::Mutex +class FactoryACMMonitor : public ACMMonitor, public ::IceUtil::Mutex, + public ICE_ENABLE_SHARED_FROM_THIS(FactoryACMMonitor) { public: @@ -85,7 +86,8 @@ private: std::vector<Ice::ConnectionIPtr> _reapedConnections; }; -class ConnectionACMMonitor : public ACMMonitor, public ::IceUtil::Mutex +class ConnectionACMMonitor : public ACMMonitor, public ::IceUtil::Mutex, + public ICE_ENABLE_SHARED_FROM_THIS(ConnectionACMMonitor) { public: diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index 3c30bdc7301..59a0c8d4551 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -312,9 +312,9 @@ Ice::Application::main(int argc, char* argv[], const char* configFile) IceInternal::Application::_appName = argv[0]; } - if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger())) + if(argc > 0 && argv[0] && ICE_DYNAMIC_CAST(LoggerI, getProcessLogger())) { - setProcessLogger(new LoggerI(argv[0], "", true, IceUtil::getProcessStringConverter())); + setProcessLogger(ICE_MAKE_SHARED(LoggerI, argv[0], "", true, IceUtil::getProcessStringConverter())); } InitializationData initData; @@ -364,12 +364,12 @@ Ice::Application::main(int argc, wchar_t* argv[], const Ice::InitializationData& int Ice::Application::main(int argc, char* argv[], const InitializationData& initializationData) { - if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger())) + if(argc > 0 && argv[0] && ICE_DYNAMIC_CAST(LoggerI, getProcessLogger())) { const bool convert = initializationData.properties ? initializationData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) > 0 && initializationData.properties->getProperty("Ice.StdErr").empty() : true; - setProcessLogger(new LoggerI(argv[0], "", convert, IceUtil::getProcessStringConverter())); + setProcessLogger(ICE_MAKE_SHARED(LoggerI, argv[0], "", convert, IceUtil::getProcessStringConverter())); } if(IceInternal::Application::_communicator != 0) @@ -655,13 +655,13 @@ Ice::Application::doMain(int argc, char* argv[], const InitializationData& initD // If the process logger is the default logger, we now replace it with a // a logger which is using the program name for the prefix. // - if(initData.properties->getProperty("Ice.ProgramName") != "" && LoggerIPtr::dynamicCast(getProcessLogger())) + if(initData.properties->getProperty("Ice.ProgramName") != "" && ICE_DYNAMIC_CAST(LoggerI, getProcessLogger())) { const bool convert = initData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) > 0 && initData.properties->getProperty("Ice.StdErr").empty(); - setProcessLogger(new LoggerI(initData.properties->getProperty("Ice.ProgramName"), "", convert, + setProcessLogger(ICE_MAKE_SHARED(LoggerI, initData.properties->getProperty("Ice.ProgramName"), "", convert, IceUtil::getProcessStringConverter())); } diff --git a/cpp/src/Ice/AsyncResult.cpp b/cpp/src/Ice/AsyncResult.cpp index 71d8106bd79..69ba7d0b5ab 100644 --- a/cpp/src/Ice/AsyncResult.cpp +++ b/cpp/src/Ice/AsyncResult.cpp @@ -20,7 +20,9 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* Ice::upCast(AsyncResult* p) { return p; } +#endif const unsigned char Ice::AsyncResult::OK = 0x1; const unsigned char Ice::AsyncResult::Done = 0x2; @@ -51,10 +53,10 @@ AsyncResult::getConnection() const return 0; } -ObjectPrx +ObjectPrxPtr AsyncResult::getProxy() const { - return 0; + return ICE_NULLPTR; } bool @@ -107,11 +109,13 @@ AsyncResult::sentSynchronously() const return _sentSynchronously; } +#ifndef ICE_CPP11_MAPPING LocalObjectPtr AsyncResult::getCookie() const { return _cookie; } +#endif const std::string& AsyncResult::getOperation() const @@ -204,6 +208,25 @@ AsyncResult::__check(const AsyncResultPtr& r, const string& operation) } } +#ifdef ICE_CPP11_MAPPING +AsyncResult::AsyncResult(const CommunicatorPtr& communicator, + const IceInternal::InstancePtr& instance, + const string& op, + const CallbackBasePtr& callback) : + _instance(instance), + _sentSynchronously(false), + _is(instance.get(), Ice::currentProtocolEncoding), + _communicator(communicator), + _operation(op), + _callback(callback), + _state(0) +{ + if(!_callback) + { + throw IceUtil::IllegalArgumentException(__FILE__, __LINE__); + } +} +#else AsyncResult::AsyncResult(const CommunicatorPtr& communicator, const IceInternal::InstancePtr& instance, const string& op, @@ -224,6 +247,7 @@ AsyncResult::AsyncResult(const CommunicatorPtr& communicator, } const_cast<CallbackBasePtr&>(_callback) = _callback->verify(_cookie); } +#endif AsyncResult::~AsyncResult() { @@ -266,7 +290,7 @@ AsyncResult::finished(bool ok) _observer.detach(); } _monitor.notifyAll(); - return _callback; + return _callback != ICE_NULLPTR; } bool @@ -282,7 +306,7 @@ AsyncResult::finished(const Ice::Exception& ex) _observer.detach(); } _monitor.notifyAll(); - return _callback; + return _callback != ICE_NULLPTR; } void @@ -315,7 +339,7 @@ AsyncResult::invokeSentAsync() // try { - _instance->clientThreadPool()->dispatch(new AsynchronousSent(_cachedConnection, this)); + _instance->clientThreadPool()->dispatch(new AsynchronousSent(_cachedConnection, ICE_SHARED_FROM_THIS)); } catch(const Ice::CommunicatorDestroyedException&) { @@ -349,7 +373,7 @@ AsyncResult::invokeCompletedAsync() // CommunicatorDestroyedCompleted is the only exception that can propagate directly // from this method. // - _instance->clientThreadPool()->dispatch(new AsynchronousCompleted(_cachedConnection, this)); + _instance->clientThreadPool()->dispatch(new AsynchronousCompleted(_cachedConnection, ICE_SHARED_FROM_THIS)); } void @@ -359,7 +383,7 @@ AsyncResult::invokeSent() try { - AsyncResultPtr self(this); + AsyncResultPtr self(ICE_SHARED_FROM_THIS); _callback->sent(self); } catch(const std::exception& ex) @@ -373,7 +397,7 @@ AsyncResult::invokeSent() if(_observer) { - ObjectPrx proxy = getProxy(); + ObjectPrxPtr proxy = getProxy(); if(!proxy || !proxy->ice_isTwoway()) { _observer.detach(); @@ -388,7 +412,7 @@ AsyncResult::invokeCompleted() try { - AsyncResultPtr self(this); + AsyncResultPtr self(ICE_SHARED_FROM_THIS); _callback->completed(self); } catch(const std::exception& ex) @@ -416,7 +440,11 @@ AsyncResult::cancel(const Ice::LocalException& ex) } handler = _cancellationHandler; } +#ifdef ICE_CPP11_MAPPING + handler->asyncRequestCanceled(dynamic_pointer_cast<OutgoingAsyncBase>(shared_from_this()), ex); +#else handler->asyncRequestCanceled(OutgoingAsyncBasePtr::dynamicCast(this), ex); +#endif } void @@ -526,9 +554,10 @@ public: // versus the generated inline version of the begin_ method having // passed a pointer to the dummy delegate. // -CallbackBasePtr IceInternal::__dummyCallback = new DummyCallback; +CallbackBasePtr IceInternal::__dummyCallback = ICE_MAKE_SHARED(DummyCallback); -#ifdef ICE_CPP11 +#ifndef ICE_CPP11_MAPPING +# ifdef ICE_CPP11_COMPILER Ice::CallbackPtr Ice::newCallback(const ::IceInternal::Function<void (const AsyncResultPtr&)>& completed, @@ -564,7 +593,7 @@ Ice::newCallback(const ::IceInternal::Function<void (const AsyncResultPtr&)>& co if(_sent != nullptr) { _sent(result); - } + } } virtual bool @@ -581,6 +610,7 @@ Ice::newCallback(const ::IceInternal::Function<void (const AsyncResultPtr&)>& co return new Cpp11CB(completed, sent); } +# endif #endif void @@ -596,4 +626,3 @@ IceInternal::CallbackBase::checkCallback(bool obj, bool cb) } } - diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp index e08914e0a7e..3bd7751a1e7 100644 --- a/cpp/src/Ice/BasicStream.cpp +++ b/cpp/src/Ice/BasicStream.cpp @@ -1580,16 +1580,28 @@ IceInternal::BasicStream::read(vector<wstring>& v) } void -IceInternal::BasicStream::write(const ObjectPrx& v) +#ifndef ICE_CPP11_MAPPING +IceInternal::BasicStream::write(const ObjectPrxPtr& v) +#else +IceInternal::BasicStream::writeProxy(const ObjectPrxPtr& v) +#endif { _instance->proxyFactory()->proxyToStream(v, this); } +#ifndef ICE_CPP11_MAPPING void -IceInternal::BasicStream::read(ObjectPrx& v) +IceInternal::BasicStream::read(ObjectPrxPtr& v) { v = _instance->proxyFactory()->streamToProxy(this); } +#else +ObjectPrxPtr +IceInternal::BasicStream::readProxy() +{ + return _instance->proxyFactory()->streamToProxy(this); +} +#endif Int IceInternal::BasicStream::readEnum(Int maxValue) @@ -1904,20 +1916,27 @@ IceInternal::BasicStream::EncapsDecoder::readTypeId(bool isIndex) } } -Ice::ObjectPtr +Ice::ValuePtr IceInternal::BasicStream::EncapsDecoder::newInstance(const string& typeId) { - Ice::ObjectPtr v; + Ice::ValuePtr v; // // Try to find a factory registered for the specific type. // +#ifdef ICE_CPP11_MAPPING + function<ValuePtr (const string&)> userFactory = _servantFactoryManager->find(typeId); + if(userFactory) + { + v = userFactory(typeId); + } +#else ObjectFactoryPtr userFactory = _servantFactoryManager->find(typeId); if(userFactory) { v = userFactory->create(typeId); } - +#endif // // If that fails, invoke the default factory if one has been // registered. @@ -1927,7 +1946,11 @@ IceInternal::BasicStream::EncapsDecoder::newInstance(const string& typeId) userFactory = _servantFactoryManager->find(""); if(userFactory) { +#ifdef ICE_CPP11_MAPPING + v = userFactory(typeId); +#else v = userFactory->create(typeId); +#endif } } @@ -1937,12 +1960,21 @@ IceInternal::BasicStream::EncapsDecoder::newInstance(const string& typeId) // if(!v) { +#ifdef ICE_CPP11_MAPPING + function<ValuePtr (const string&)> of = IceInternal::factoryTable->getObjectFactory(typeId); + if(of) + { + v = of(typeId); + assert(v); + } +#else ObjectFactoryPtr of = IceInternal::factoryTable->getObjectFactory(typeId); if(of) { v = of->create(typeId); assert(v); } +#endif } return v; @@ -1990,7 +2022,7 @@ IceInternal::BasicStream::EncapsDecoder::addPatchEntry(Int index, PatchFunc patc } void -IceInternal::BasicStream::EncapsDecoder::unmarshal(Int index, const Ice::ObjectPtr& v) +IceInternal::BasicStream::EncapsDecoder::unmarshal(Int index, const Ice::ValuePtr& v) { // // Add the object to the map of un-marshalled objects, this must @@ -2030,10 +2062,12 @@ IceInternal::BasicStream::EncapsDecoder::unmarshal(Int index, const Ice::ObjectP { try { +#ifndef ICE_CPP11_MAPPING if(_stream->instance()->collectObjects()) { v->ice_collectable(true); } +#endif v->ice_postUnmarshal(); } catch(const std::exception& ex) @@ -2063,10 +2097,12 @@ IceInternal::BasicStream::EncapsDecoder::unmarshal(Int index, const Ice::ObjectP { try { +#ifndef ICE_CPP11_MAPPING if(_stream->instance()->collectObjects()) { (*p)->ice_collectable(true); } +#endif (*p)->ice_postUnmarshal(); } catch(const std::exception& ex) @@ -2107,7 +2143,7 @@ IceInternal::BasicStream::EncapsDecoder10::read(PatchFunc patchFunc, void* patch // Calling the patch function for null instances is necessary for correct functioning of Ice for // Python and Ruby. // - ObjectPtr nil; + ValuePtr nil; patchFunc(patchAddr, nil); } else @@ -2337,7 +2373,7 @@ IceInternal::BasicStream::EncapsDecoder10::readInstance() // startSlice(); const string mostDerivedId = _typeId; - ObjectPtr v; + ValuePtr v; while(true) { // @@ -2397,7 +2433,7 @@ IceInternal::BasicStream::EncapsDecoder11::read(PatchFunc patchFunc, void* patch // if(patchFunc) { - ObjectPtr nil; + ValuePtr nil; patchFunc(patchAddr, nil); } } @@ -2685,7 +2721,7 @@ IceInternal::BasicStream::EncapsDecoder11::skipSlice() // // Preserve this slice. // - SliceInfoPtr info = new SliceInfo; + SliceInfoPtr info = ICE_MAKE_SHARED(SliceInfo); info->typeId = _current->typeId; info->compactId = _current->compactId; info->hasOptionalMembers = _current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS; @@ -2768,7 +2804,7 @@ IceInternal::BasicStream::EncapsDecoder11::readInstance(Int index, PatchFunc pat // startSlice(); const string mostDerivedId = _current->typeId; - Ice::ObjectPtr v; + Ice::ValuePtr v; const CompactIdResolverPtr& compactIdResolver = _stream->instance()->initializationData().compactIdResolver; while(true) { @@ -2853,7 +2889,7 @@ IceInternal::BasicStream::EncapsDecoder11::readInstance(Int index, PatchFunc pat v = newInstance(Object::ice_staticId()); if(!v) { - v = new UnknownSlicedObject(mostDerivedId); + v = ICE_MAKE_SHARED(UnknownSlicedObject, mostDerivedId); } break; @@ -2905,7 +2941,7 @@ IceInternal::BasicStream::EncapsDecoder11::readSlicedData() // enclosing object. // const IndexList& table = _current->indirectionTables[n]; - vector<ObjectPtr>& objects = _current->slices[n]->objects; + vector<ValuePtr>& objects = _current->slices[n]->objects; objects.resize(table.size()); IndexList::size_type j = 0; for(IndexList::const_iterator p = table.begin(); p != table.end(); ++p) @@ -2913,7 +2949,7 @@ IceInternal::BasicStream::EncapsDecoder11::readSlicedData() addPatchEntry(*p, &patchHandle<Object>, &objects[j++]); } } - return new SlicedData(_current->slices); + return ICE_MAKE_SHARED(SlicedData, _current->slices); } Int @@ -2932,7 +2968,7 @@ IceInternal::BasicStream::EncapsEncoder::registerTypeId(const string& typeId) } void -IceInternal::BasicStream::EncapsEncoder10::write(const ObjectPtr& v) +IceInternal::BasicStream::EncapsEncoder10::write(const ValuePtr& v) { // // Object references are encoded as a negative integer in 1.0. @@ -3078,7 +3114,7 @@ IceInternal::BasicStream::EncapsEncoder10::writePendingObjects() } Int -IceInternal::BasicStream::EncapsEncoder10::registerObject(const ObjectPtr& v) +IceInternal::BasicStream::EncapsEncoder10::registerObject(const ValuePtr& v) { assert(v); @@ -3109,7 +3145,7 @@ IceInternal::BasicStream::EncapsEncoder10::registerObject(const ObjectPtr& v) } void -IceInternal::BasicStream::EncapsEncoder11::write(const ObjectPtr& v) +IceInternal::BasicStream::EncapsEncoder11::write(const ValuePtr& v) { if(!v) { @@ -3354,7 +3390,7 @@ IceInternal::BasicStream::EncapsEncoder11::writeSlicedData(const SlicedDataPtr& } void -IceInternal::BasicStream::EncapsEncoder11::writeInstance(const ObjectPtr& v) +IceInternal::BasicStream::EncapsEncoder11::writeInstance(const ValuePtr& v) { assert(v); @@ -3392,4 +3428,3 @@ IceInternal::BasicStream::EncapsEncoder11::writeInstance(const ObjectPtr& v) _stream->writeSize(1); // Object instance marker. v->__write(_stream); } - diff --git a/cpp/src/Ice/BatchRequestQueue.cpp b/cpp/src/Ice/BatchRequestQueue.cpp index c34de544df7..04bee6e06d5 100644 --- a/cpp/src/Ice/BatchRequestQueue.cpp +++ b/cpp/src/Ice/BatchRequestQueue.cpp @@ -25,7 +25,7 @@ class BatchRequestI : public Ice::BatchRequest { public: - BatchRequestI(BatchRequestQueue& queue, const Ice::ObjectPrx& proxy, const string& operation, int size) : + BatchRequestI(BatchRequestQueue& queue, const Ice::ObjectPrxPtr& proxy, const string& operation, int size) : _queue(queue), _proxy(proxy), _operation(operation), _size(size) { } @@ -48,7 +48,7 @@ public: return _operation; } - virtual const Ice::ObjectPrx& + virtual const Ice::ObjectPrxPtr& getProxy() const { return _proxy; @@ -57,7 +57,7 @@ public: private: BatchRequestQueue& _queue; - const Ice::ObjectPrx& _proxy; + const Ice::ObjectPrxPtr& _proxy; const std::string& _operation; const int _size; }; @@ -101,7 +101,7 @@ BatchRequestQueue::prepareBatchRequest(BasicStream* os) } void -BatchRequestQueue::finishBatchRequest(BasicStream* os, const Ice::ObjectPrx& proxy, const std::string& operation) +BatchRequestQueue::finishBatchRequest(BasicStream* os, const Ice::ObjectPrxPtr& proxy, const std::string& operation) { // // No need for synchronization, no other threads are supposed @@ -116,7 +116,11 @@ BatchRequestQueue::finishBatchRequest(BasicStream* os, const Ice::ObjectPrx& pro if(_maxSize > 0 && _batchStream.b.size() >= _maxSize) { +#ifdef ICE_CPP11_MAPPING + proxy->ice_flushBatchRequests_async(); +#else proxy->begin_ice_flushBatchRequests(); +#endif } assert(_batchMarker < _batchStream.b.size()); diff --git a/cpp/src/Ice/BatchRequestQueue.h b/cpp/src/Ice/BatchRequestQueue.h index 6a082af1921..e562e637197 100644 --- a/cpp/src/Ice/BatchRequestQueue.h +++ b/cpp/src/Ice/BatchRequestQueue.h @@ -30,7 +30,7 @@ public: BatchRequestQueue(const InstancePtr&, bool); void prepareBatchRequest(BasicStream*); - void finishBatchRequest(BasicStream*, const Ice::ObjectPrx&, const std::string&); + void finishBatchRequest(BasicStream*, const Ice::ObjectPrxPtr&, const std::string&); void abortBatchRequest(BasicStream*); int swap(BasicStream*); diff --git a/cpp/src/Ice/CollocatedRequestHandler.cpp b/cpp/src/Ice/CollocatedRequestHandler.cpp index 6a641c38037..20349210b21 100644 --- a/cpp/src/Ice/CollocatedRequestHandler.cpp +++ b/cpp/src/Ice/CollocatedRequestHandler.cpp @@ -35,7 +35,15 @@ public: CollocatedRequestHandler* handler, Int requestId, Int batchRequestNum) : - _out(out), _os(os), _handler(handler), _requestId(requestId), _batchRequestNum(batchRequestNum) + _out(out), + _os(os), +#ifdef ICE_CPP11_MAPPING + _handler(dynamic_pointer_cast<CollocatedRequestHandler>(handler->shared_from_this())), +#else + _handler(handler), +#endif + _requestId(requestId), + _batchRequestNum(batchRequestNum) { } @@ -63,7 +71,7 @@ public: InvokeAllAsync(const OutgoingAsyncBasePtr& outAsync, BasicStream* os, - CollocatedRequestHandler* handler, + const CollocatedRequestHandlerPtr& handler, Int requestId, Int batchRequestNum) : _outAsync(outAsync), _os(os), _handler(handler), _requestId(requestId), _batchRequestNum(batchRequestNum) @@ -103,7 +111,7 @@ fillInValue(BasicStream* os, int pos, Int value) CollocatedRequestHandler::CollocatedRequestHandler(const ReferencePtr& ref, const ObjectAdapterPtr& adapter) : RequestHandler(ref), - _adapter(ObjectAdapterIPtr::dynamicCast(adapter)), + _adapter(ICE_DYNAMIC_CAST(ObjectAdapterI, adapter)), _dispatcher(_reference->getInstance()->initializationData().dispatcher), _logger(_reference->getInstance()->initializationData().logger), // Cached for better performance. _traceLevels(_reference->getInstance()->traceLevels()), // Cached for better performance. @@ -118,7 +126,11 @@ CollocatedRequestHandler::~CollocatedRequestHandler() RequestHandlerPtr CollocatedRequestHandler::update(const RequestHandlerPtr& previousHandler, const RequestHandlerPtr& newHandler) { +#ifdef ICE_CPP11_MAPPING + return previousHandler.get() == this ? newHandler : dynamic_pointer_cast<RequestHandler>(shared_from_this()); +#else return previousHandler.get() == this ? newHandler : this; +#endif } bool @@ -190,7 +202,7 @@ CollocatedRequestHandler::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAs return; } - OutgoingAsyncPtr o = OutgoingAsyncPtr::dynamicCast(outAsync); + OutgoingAsyncPtr o = ICE_DYNAMIC_CAST(OutgoingAsync, outAsync); if(o) { for(map<Int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.begin(); q != _asyncRequests.end(); ++q) @@ -262,15 +274,32 @@ CollocatedRequestHandler::invokeAsyncRequest(OutgoingAsyncBase* outAsync, int ba { Lock sync(*this); - outAsync->cancelable(this); // This will throw if the request is canceled + // + // This will throw if the request is canceled + // +#ifdef ICE_CPP11_MAPPING + outAsync->cancelable(dynamic_pointer_cast<CollocatedRequestHandler>(shared_from_this())); +#else + outAsync->cancelable(this); +#endif if(_response) { requestId = ++_requestId; +#ifdef ICE_CPP11_MAPPING + _asyncRequests.insert(make_pair(requestId, + dynamic_pointer_cast<OutgoingAsyncBase>(outAsync->shared_from_this()))); +#else _asyncRequests.insert(make_pair(requestId, outAsync)); +#endif } +#ifdef ICE_CPP11_MAPPING + _sendAsyncRequests.insert(make_pair( + dynamic_pointer_cast<OutgoingAsyncBase>(outAsync->shared_from_this()), requestId)); +#else _sendAsyncRequests.insert(make_pair(outAsync, requestId)); +#endif } catch(...) { @@ -280,8 +309,17 @@ CollocatedRequestHandler::invokeAsyncRequest(OutgoingAsyncBase* outAsync, int ba outAsync->attachCollocatedObserver(_adapter, requestId); +#ifdef ICE_CPP11_MAPPING + _adapter->getThreadPool()->dispatch(new InvokeAllAsync( + dynamic_pointer_cast<OutgoingAsyncBase>(outAsync->shared_from_this()), + outAsync->getOs(), + dynamic_pointer_cast<CollocatedRequestHandler>(shared_from_this()), + requestId, + batchRequestNum)); +#else _adapter->getThreadPool()->dispatch(new InvokeAllAsync(outAsync, outAsync->getOs(), this, requestId, batchRequestNum)); +#endif return AsyncStatusQueued; } @@ -392,7 +430,12 @@ CollocatedRequestHandler::sentAsync(OutgoingAsyncBase* outAsync) { { Lock sync(*this); +#ifdef ICE_CPP11_MAPPING + if(_sendAsyncRequests.erase(outAsync ? + dynamic_pointer_cast<IceInternal::OutgoingAsyncBase>(outAsync->shared_from_this()) : nullptr) == 0) +#else if(_sendAsyncRequests.erase(outAsync) == 0) +#endif { return false; // The request timed-out. } diff --git a/cpp/src/Ice/CollocatedRequestHandler.h b/cpp/src/Ice/CollocatedRequestHandler.h index 248984ed647..f98407c0ef3 100644 --- a/cpp/src/Ice/CollocatedRequestHandler.h +++ b/cpp/src/Ice/CollocatedRequestHandler.h @@ -19,12 +19,13 @@ #include <Ice/ObjectAdapterF.h> #include <Ice/LoggerF.h> #include <Ice/TraceLevelsF.h> +#include <Ice/VirtualShared.h> namespace Ice { class ObjectAdapterI; -typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; +ICE_DEFINE_PTR(ObjectAdapterIPtr, ObjectAdapterI); } @@ -36,7 +37,12 @@ class Outgoing; class OutgoingAsyncBase; class OutgoingAsync; -class CollocatedRequestHandler : public RequestHandler, public ResponseHandler, private IceUtil::Monitor<IceUtil::Mutex> +class CollocatedRequestHandler : public RequestHandler, + public ResponseHandler, + private IceUtil::Monitor<IceUtil::Mutex> +#ifndef ICE_CPP11_MAPPING + , public virtual ::IceUtil::Shared +#endif { public: @@ -86,7 +92,7 @@ private: std::map<Ice::Int, OutgoingBase*> _requests; std::map<Ice::Int, OutgoingAsyncBasePtr> _asyncRequests; }; -typedef IceUtil::Handle<CollocatedRequestHandler> CollocatedRequestHandlerPtr; +ICE_DEFINE_PTR(CollocatedRequestHandlerPtr, CollocatedRequestHandler); } diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp index 985acb23aa9..4fddd5e9e62 100644 --- a/cpp/src/Ice/CommunicatorI.cpp +++ b/cpp/src/Ice/CommunicatorI.cpp @@ -56,26 +56,26 @@ Ice::CommunicatorI::isShutdown() const return _instance->objectAdapterFactory()->isShutdown(); } -ObjectPrx +ObjectPrxPtr Ice::CommunicatorI::stringToProxy(const string& s) const { return _instance->proxyFactory()->stringToProxy(s); } string -Ice::CommunicatorI::proxyToString(const ObjectPrx& proxy) const +Ice::CommunicatorI::proxyToString(const ObjectPrxPtr& proxy) const { return _instance->proxyFactory()->proxyToString(proxy); } -ObjectPrx +ObjectPrxPtr Ice::CommunicatorI::propertyToProxy(const string& p) const { return _instance->proxyFactory()->propertyToProxy(p); } PropertyDict -Ice::CommunicatorI::proxyToProperty(const ObjectPrx& proxy, const string& property) const +Ice::CommunicatorI::proxyToProperty(const ObjectPrxPtr& proxy, const string& property) const { return _instance->proxyFactory()->proxyToProperty(proxy, property); } @@ -95,7 +95,7 @@ Ice::CommunicatorI::identityToString(const Identity& ident) const ObjectAdapterPtr Ice::CommunicatorI::createObjectAdapter(const string& name) { - return _instance->objectAdapterFactory()->createObjectAdapter(name, 0); + return _instance->objectAdapterFactory()->createObjectAdapter(name, ICE_NULLPTR); } ObjectAdapterPtr @@ -108,11 +108,11 @@ Ice::CommunicatorI::createObjectAdapterWithEndpoints(const string& name, const s } getProperties()->setProperty(oaName + ".Endpoints", endpoints); - return _instance->objectAdapterFactory()->createObjectAdapter(oaName, 0); + return _instance->objectAdapterFactory()->createObjectAdapter(oaName, ICE_NULLPTR); } ObjectAdapterPtr -Ice::CommunicatorI::createObjectAdapterWithRouter(const string& name, const RouterPrx& router) +Ice::CommunicatorI::createObjectAdapterWithRouter(const string& name, const RouterPrxPtr& router) { string oaName = name; if(oaName.empty()) @@ -129,17 +129,31 @@ Ice::CommunicatorI::createObjectAdapterWithRouter(const string& name, const Rout return _instance->objectAdapterFactory()->createObjectAdapter(oaName, router); } +#ifdef ICE_CPP11_MAPPING void -Ice::CommunicatorI::addObjectFactory(const ObjectFactoryPtr& factory, const string& id) +Ice::CommunicatorI::addObjectFactory(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 +{ + return _instance->servantFactoryManager()->find(id); +} +#else +void +Ice::CommunicatorI::addObjectFactory(const ::Ice::ObjectFactoryPtr& factory, const string& id) { _instance->servantFactoryManager()->add(factory, id); } -ObjectFactoryPtr +::Ice::ObjectFactoryPtr Ice::CommunicatorI::findObjectFactory(const string& id) const { return _instance->servantFactoryManager()->find(id); } +#endif PropertiesPtr Ice::CommunicatorI::getProperties() const @@ -159,26 +173,26 @@ Ice::CommunicatorI::getObserver() const return _instance->initializationData().observer; } -RouterPrx +RouterPrxPtr Ice::CommunicatorI::getDefaultRouter() const { return _instance->referenceFactory()->getDefaultRouter(); } void -Ice::CommunicatorI::setDefaultRouter(const RouterPrx& router) +Ice::CommunicatorI::setDefaultRouter(const RouterPrxPtr& router) { _instance->setDefaultRouter(router); } -LocatorPrx +LocatorPrxPtr Ice::CommunicatorI::getDefaultLocator() const { return _instance->referenceFactory()->getDefaultLocator(); } void -Ice::CommunicatorI::setDefaultLocator(const LocatorPrx& locator) +Ice::CommunicatorI::setDefaultLocator(const LocatorPrxPtr& locator) { _instance->setDefaultLocator(locator); } @@ -195,6 +209,117 @@ Ice::CommunicatorI::getPluginManager() const return _instance->pluginManager(); } +namespace +{ + +const ::std::string __flushBatchRequests_name = "flushBatchRequests"; + +} + +#ifdef ICE_CPP11_MAPPING +void +Ice::CommunicatorI::flushBatchRequests() +{ + promise<bool> promise; + flushBatchRequests_async( + nullptr, + [&](exception_ptr ex) + { + promise.set_exception(move(ex)); + }, + [&](bool sentSynchronously) + { + promise.set_value(sentSynchronously); + }); + promise.get_future().get(); +} + +::std::function<void ()> +Ice::CommunicatorI::flushBatchRequests_async( + function<void ()> completed, + function<void (exception_ptr)> exception, + function<void (bool)> sent) +{ + class FlushBatchRequestsCallback : public CallbackBase + { + public: + + FlushBatchRequestsCallback(function<void (exception_ptr)> exception, + 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 + { + AsyncResult::__check(result, _communicator.get(), __flushBatchRequests_name); + result->__wait(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + + if(_sent) + { + _sent(result->sentSynchronously()); + } + } + + virtual bool hasSentCallback() const + { + return true; + } + + + virtual void + completed(const ::Ice::AsyncResultPtr& result) const + { + try + { + AsyncResult::__check(result, _communicator.get(), __flushBatchRequests_name); + result->__wait(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + } + + private: + + function<void (exception_ptr)> _exception; + 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); + + // + // Inform the callback that we have finished initiating all of the + // flush requests. + // + result->ready(); + return [result]() + { + result->cancel(); + }; +} +#else void Ice::CommunicatorI::flushBatchRequests() { @@ -224,7 +349,7 @@ AsyncResultPtr Ice::CommunicatorI::begin_flushBatchRequests(const IceInternal::Function<void (const Exception&)>& exception, const IceInternal::Function<void (bool)>& sent) { -#ifdef ICE_CPP11 +#ifdef ICE_CPP11_COMPILER class Cpp11CB : public IceInternal::Cpp11FnCallbackNC { @@ -254,20 +379,13 @@ Ice::CommunicatorI::begin_flushBatchRequests(const IceInternal::Function<void (c } }; - return __begin_flushBatchRequests(new Cpp11CB(exception, sent), 0); + return __begin_flushBatchRequests(ICE_MAKE_SHARED(Cpp11CB, exception, sent), 0); #else assert(false); // Ice not built with C++11 support. return 0; #endif } -namespace -{ - -const ::std::string __flushBatchRequests_name = "flushBatchRequests"; - -} - AsyncResultPtr Ice::CommunicatorI::__begin_flushBatchRequests(const IceInternal::CallbackBasePtr& cb, const LocalObjectPtr& cookie) { @@ -278,7 +396,7 @@ Ice::CommunicatorI::__begin_flushBatchRequests(const IceInternal::CallbackBasePt // This callback object receives the results of all invocations // of Connection::begin_flushBatchRequests. // - CommunicatorFlushBatchAsyncPtr result = new CommunicatorFlushBatchAsync(this, + CommunicatorFlushBatchAsyncPtr result = new CommunicatorFlushBatchAsync(ICE_SHARED_FROM_THIS, _instance, __flushBatchRequests_name, cb, @@ -302,13 +420,14 @@ Ice::CommunicatorI::end_flushBatchRequests(const AsyncResultPtr& r) AsyncResult::__check(r, this, __flushBatchRequests_name); r->__wait(); } +#endif -ObjectPrx +ObjectPrxPtr Ice::CommunicatorI::createAdmin(const ObjectAdapterPtr& adminAdapter, const Identity& adminId) { return _instance->createAdmin(adminAdapter, adminId); } -ObjectPrx +ObjectPrxPtr Ice::CommunicatorI::getAdmin() const { return _instance->getAdmin(); @@ -338,27 +457,27 @@ Ice::CommunicatorI::findAllAdminFacets() return _instance->findAllAdminFacets(); } -Ice::CommunicatorI::CommunicatorI(const InitializationData& initData) +CommunicatorIPtr +Ice::CommunicatorI::create(const InitializationData& initData) { - __setNoDelete(true); + Ice::CommunicatorIPtr communicator = ICE_MAKE_SHARED(CommunicatorI); try { - const_cast<InstancePtr&>(_instance) = new Instance(this, initData); + const_cast<InstancePtr&>(communicator->_instance) = new Instance(communicator, initData); // // Keep a reference to the dynamic library list to ensure // the libraries are not unloaded until this Communicator's // destructor is invoked. // - const_cast<DynamicLibraryListPtr&>(_dynamicLibraryList) = _instance->dynamicLibraryList(); + const_cast<DynamicLibraryListPtr&>(communicator->_dynamicLibraryList) = communicator->_instance->dynamicLibraryList(); } catch(...) { - destroy(); - __setNoDelete(false); + communicator->destroy(); throw; } - __setNoDelete(false); + return communicator; } Ice::CommunicatorI::~CommunicatorI() @@ -375,7 +494,7 @@ Ice::CommunicatorI::finishSetup(int& argc, char* argv[]) { try { - _instance->finishSetup(argc, argv, this); + _instance->finishSetup(argc, argv, ICE_SHARED_FROM_THIS); } catch(...) { diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h index 373a56c316e..d0ba4285695 100644 --- a/cpp/src/Ice/CommunicatorI.h +++ b/cpp/src/Ice/CommunicatorI.h @@ -20,30 +20,39 @@ namespace Ice { -class CommunicatorI : public Communicator +class CommunicatorI; +ICE_DEFINE_PTR(CommunicatorIPtr, CommunicatorI); + +class CommunicatorI : public ICE_ENABLE_SHARED_FROM_THIS(CommunicatorI), + public Communicator { public: - + virtual void destroy(); virtual void shutdown(); virtual void waitForShutdown(); virtual bool isShutdown() const; - virtual ObjectPrx stringToProxy(const std::string&) const; - virtual std::string proxyToString(const ObjectPrx&) const; + virtual ObjectPrxPtr stringToProxy(const std::string&) const; + virtual std::string proxyToString(const ObjectPrxPtr&) const; - virtual ObjectPrx propertyToProxy(const std::string&) const; - virtual PropertyDict proxyToProperty(const ObjectPrx&, const std::string&) const; + virtual ObjectPrxPtr propertyToProxy(const std::string&) const; + virtual PropertyDict proxyToProperty(const ObjectPrxPtr&, const std::string&) const; virtual Identity stringToIdentity(const std::string&) const; virtual std::string identityToString(const Identity&) const; virtual ObjectAdapterPtr createObjectAdapter(const std::string&); virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&); - virtual ObjectAdapterPtr createObjectAdapterWithRouter(const std::string&, const RouterPrx&); + 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; +#endif virtual ImplicitContextPtr getImplicitContext() const; @@ -51,16 +60,23 @@ public: virtual LoggerPtr getLogger() const; virtual Ice::Instrumentation::CommunicatorObserverPtr getObserver() const; - virtual RouterPrx getDefaultRouter() const; - virtual void setDefaultRouter(const RouterPrx&); + virtual RouterPrxPtr getDefaultRouter() const; + virtual void setDefaultRouter(const RouterPrxPtr&); - virtual LocatorPrx getDefaultLocator() const; - virtual void setDefaultLocator(const LocatorPrx&); + virtual LocatorPrxPtr getDefaultLocator() const; + virtual void setDefaultLocator(const LocatorPrxPtr&); virtual PluginManagerPtr getPluginManager() const; virtual void flushBatchRequests(); +#ifdef ICE_CPP11_MAPPING + virtual ::std::function<void ()> + flushBatchRequests_async( + ::std::function<void ()> completed, + ::std::function<void (std::exception_ptr)> exception = nullptr, + ::std::function<void (bool)> sent = nullptr); +#else virtual AsyncResultPtr begin_flushBatchRequests(); virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0); virtual AsyncResultPtr begin_flushBatchRequests(const Callback_Communicator_flushBatchRequestsPtr&, @@ -71,18 +87,21 @@ public: const IceInternal::Function<void (bool)>& = IceInternal::Function<void (bool)>()); virtual void end_flushBatchRequests(const AsyncResultPtr&); +#endif - virtual ObjectPrx createAdmin(const ObjectAdapterPtr&, const Identity&); - virtual ObjectPrx getAdmin() const; + virtual ObjectPrxPtr createAdmin(const ObjectAdapterPtr&, const Identity&); + virtual ObjectPrxPtr getAdmin() const; virtual void addAdminFacet(const ObjectPtr&, const std::string&); virtual ObjectPtr removeAdminFacet(const std::string&); virtual ObjectPtr findAdminFacet(const std::string&); virtual FacetMap findAllAdminFacets(); + virtual ~CommunicatorI(); + private: - CommunicatorI(const InitializationData&); - virtual ~CommunicatorI(); + static CommunicatorIPtr + create(const InitializationData&); // // Certain initialization tasks need to be completed after the diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp index caabcbd3e75..3818144f279 100644 --- a/cpp/src/Ice/ConnectRequestHandler.cpp +++ b/cpp/src/Ice/ConnectRequestHandler.cpp @@ -23,9 +23,11 @@ using namespace std; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(ConnectRequestHandler* p) { return p; } +#endif -ConnectRequestHandler::ConnectRequestHandler(const ReferencePtr& ref, const Ice::ObjectPrx& proxy) : +ConnectRequestHandler::ConnectRequestHandler(const ReferencePtr& ref, const Ice::ObjectPrxPtr& proxy) : RequestHandler(ref), _proxy(proxy), _initialized(false), @@ -33,25 +35,21 @@ ConnectRequestHandler::ConnectRequestHandler(const ReferencePtr& ref, const Ice: { } -ConnectRequestHandler::~ConnectRequestHandler() -{ -} - RequestHandlerPtr -ConnectRequestHandler::connect(const Ice::ObjectPrx& proxy) +ConnectRequestHandler::connect(const Ice::ObjectPrxPtr& proxy) { Lock sync(*this); if(!initialized()) { _proxies.insert(proxy); } - return _requestHandler ? _requestHandler : this; + return _requestHandler ? _requestHandler : ICE_SHARED_FROM_THIS; } RequestHandlerPtr ConnectRequestHandler::update(const RequestHandlerPtr& previousHandler, const RequestHandlerPtr& newHandler) { - return previousHandler.get() == this ? newHandler : this; + return previousHandler.get() == this ? newHandler : ICE_SHARED_FROM_THIS; } bool @@ -77,7 +75,7 @@ ConnectRequestHandler::sendAsyncRequest(const ProxyOutgoingAsyncBasePtr& out) Lock sync(*this); if(!_initialized) { - out->cancelable(this); // This will throw if the request is canceled + out->cancelable(ICE_SHARED_FROM_THIS); // This will throw if the request is canceled } if(!initialized()) @@ -205,7 +203,11 @@ ConnectRequestHandler::setConnection(const Ice::ConnectionIPtr& connection, bool // add this proxy to the router info object. // RouterInfoPtr ri = _reference->getRouterInfo(); +#ifdef ICE_CPP11_MAPPING + if(ri && !ri->addProxy(_proxy, dynamic_pointer_cast<AddProxyCallback>(shared_from_this()))) +#else if(ri && !ri->addProxy(_proxy, this)) +#endif { return; // The request handler will be initialized once addProxy returns. } @@ -233,7 +235,7 @@ ConnectRequestHandler::setException(const Ice::LocalException& ex) // try { - _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this); + _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, ICE_SHARED_FROM_THIS); } catch(const Ice::CommunicatorDestroyedException&) { @@ -342,7 +344,7 @@ ConnectRequestHandler::flushRequests() exception.reset(ex.get()->ice_clone()); // Remove the request handler before retrying. - _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this); + _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, ICE_SHARED_FROM_THIS); if(req.out) { @@ -376,10 +378,10 @@ ConnectRequestHandler::flushRequests() // if(_reference->getCacheConnection() && !exception.get()) { - _requestHandler = new ConnectionRequestHandler(_reference, _connection, _compress); - for(set<Ice::ObjectPrx>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p) + _requestHandler = ICE_MAKE_SHARED(ConnectionRequestHandler, _reference, _connection, _compress); + for(set<Ice::ObjectPrxPtr>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p) { - (*p)->__updateRequestHandler(this, _requestHandler); + (*p)->__updateRequestHandler(ICE_SHARED_FROM_THIS, _requestHandler); } } @@ -394,10 +396,11 @@ ConnectRequestHandler::flushRequests() // Only remove once all the requests are flushed to // guarantee serialization. // - _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this); + _reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, ICE_SHARED_FROM_THIS); _proxies.clear(); _proxy = 0; // Break cyclic reference count. notifyAll(); } } + diff --git a/cpp/src/Ice/ConnectRequestHandler.h b/cpp/src/Ice/ConnectRequestHandler.h index fc202d1c893..e8d61faa379 100644 --- a/cpp/src/Ice/ConnectRequestHandler.h +++ b/cpp/src/Ice/ConnectRequestHandler.h @@ -30,14 +30,14 @@ namespace IceInternal class ConnectRequestHandler : public RequestHandler, public Reference::GetConnectionCallback, public RouterInfo::AddProxyCallback, - public IceUtil::Monitor<IceUtil::Mutex> + public IceUtil::Monitor<IceUtil::Mutex>, + public ICE_ENABLE_SHARED_FROM_THIS(ConnectRequestHandler) { public: - ConnectRequestHandler(const ReferencePtr&, const Ice::ObjectPrx&); - virtual ~ConnectRequestHandler(); + ConnectRequestHandler(const ReferencePtr&, const Ice::ObjectPrxPtr&); - RequestHandlerPtr connect(const Ice::ObjectPrx&); + RequestHandlerPtr connect(const Ice::ObjectPrxPtr&); virtual RequestHandlerPtr update(const RequestHandlerPtr&, const RequestHandlerPtr&); virtual bool sendRequest(ProxyOutgoingBase*); @@ -69,8 +69,8 @@ private: ProxyOutgoingAsyncBasePtr outAsync; }; - Ice::ObjectPrx _proxy; - std::set<Ice::ObjectPrx> _proxies; + Ice::ObjectPrxPtr _proxy; + std::set<Ice::ObjectPrxPtr> _proxies; Ice::ConnectionIPtr _connection; bool _compress; diff --git a/cpp/src/Ice/ConnectRequestHandlerF.h b/cpp/src/Ice/ConnectRequestHandlerF.h index f60cdaa1804..054567aae84 100644 --- a/cpp/src/Ice/ConnectRequestHandlerF.h +++ b/cpp/src/Ice/ConnectRequestHandlerF.h @@ -17,8 +17,12 @@ namespace IceInternal { class ConnectRequestHandler; +#ifdef ICE_CPP11_MAPPING +typedef ::std::shared_ptr<ConnectRequestHandler> ConnectRequestHandlerPtr; +#else ICE_API IceUtil::Shared* upCast(ConnectRequestHandler*); typedef IceInternal::Handle<ConnectRequestHandler> ConnectRequestHandlerPtr; +#endif } diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 3dbef2a5a6d..6ce8b78d45e 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -44,7 +44,10 @@ using namespace Ice::Instrumentation; using namespace IceInternal; IceUtil::Shared* IceInternal::upCast(OutgoingConnectionFactory* p) { return p; } + +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(IncomingConnectionFactory* p) { return p; } +#endif namespace { @@ -57,6 +60,38 @@ struct RandomNumberGenerator : public std::unary_function<ptrdiff_t, ptrdiff_t> } }; +#ifdef ICE_CPP11_MAPPING +template <typename Map> void +remove(Map& m, const typename Map::key_type& k, const typename Map::mapped_type& v) +{ + auto pr = m.equal_range(k); + assert(pr.first != pr.second); + for(auto q = pr.first; q != pr.second; ++q) + { + if(q->second.get() == v.get()) + { + m.erase(q); + return; + } + } + assert(false); // Nothing was removed which is an error. +} + +template<typename Map> typename Map::mapped_type +find(const Map& m, const typename Map::key_type& k, function<bool (const typename Map::mapped_type&)> predicate) +{ + auto pr = m.equal_range(k); + for(auto q = pr.first; q != pr.second; ++q) + { + if(predicate(q->second)) + { + return q->second; + } + } + return nullptr; +} + +#else template <typename K, typename V> void remove(multimap<K, V>& m, K k, V v) { @@ -89,6 +124,7 @@ find(const multimap<K,::IceInternal::Handle<V> >& m, } return IceInternal::Handle<V>(); } +#endif } @@ -198,7 +234,11 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointIPtr>& endpt return; } +#ifdef ICE_CPP11_MAPPING + auto cb = make_shared<ConnectCallback>(_instance, this, endpoints, hasMore, callback, selType); +#else ConnectCallbackPtr cb = new ConnectCallback(_instance, this, endpoints, hasMore, callback, selType); +#endif cb->getConnectors(); } @@ -545,8 +585,8 @@ IceInternal::OutgoingConnectionFactory::createConnection(const TransceiverPtr& t throw Ice::CommunicatorDestroyedException(__FILE__, __LINE__); } - connection = new ConnectionI(_communicator, _instance, _monitor, transceiver, ci.connector, - ci.endpoint->compress(false), 0); + connection = ConnectionI::create(_communicator, _instance, _monitor, transceiver, ci.connector, + ci.endpoint->compress(false), ICE_NULLPTR); } catch(const Ice::LocalException&) { @@ -827,7 +867,12 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartComplete } connection->activate(); +#ifdef ICE_CPP11_MAPPING + _factory->finishGetConnection(_connectors, *_iter, connection, + dynamic_pointer_cast<ConnectCallback>(shared_from_this())); +#else _factory->finishGetConnection(_connectors, *_iter, connection, this); +#endif } void @@ -845,7 +890,11 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailed(c _factory->handleConnectionException(ex, _hasMore || _iter != _connectors.end() - 1); if(dynamic_cast<const Ice::CommunicatorDestroyedException*>(&ex)) // No need to continue. { +#ifdef ICE_CPP11_MAPPING + _factory->finishGetConnection(_connectors, ex, dynamic_pointer_cast<ConnectCallback>(shared_from_this())); +#else _factory->finishGetConnection(_connectors, ex, this); +#endif } else if(++_iter != _connectors.end()) // Try the next connector. { @@ -853,7 +902,11 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailed(c } else { +#ifdef ICE_CPP11_MAPPING + _factory->finishGetConnection(_connectors, ex, dynamic_pointer_cast<ConnectCallback>(shared_from_this())); +#else _factory->finishGetConnection(_connectors, ex, this); +#endif } } @@ -936,7 +989,8 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextEndpoint() try { assert(_endpointsIter != _endpoints.end()); - (*_endpointsIter)->connectors_async(_selType, this); + (*_endpointsIter)->connectors_async(_selType, ICE_SHARED_FROM_THIS); + } catch(const Ice::LocalException& ex) { @@ -954,7 +1008,14 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::getConnection() // connection. // bool compress; +#ifdef ICE_CPP11_MAPPING + Ice::ConnectionIPtr connection = _factory->getConnection( + _connectors, + dynamic_pointer_cast<ConnectCallback>(shared_from_this()), + compress); +#else Ice::ConnectionIPtr connection = _factory->getConnection(_connectors, this, compress); +#endif if(!connection) { // @@ -982,7 +1043,6 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextConnector() Ice::ConnectionIPtr connection; try { - const CommunicatorObserverPtr& obsv = _factory->_instance->initializationData().observer; if(obsv) { @@ -1002,7 +1062,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextConnector() << _iter->connector->toString(); } connection = _factory->createConnection(_iter->connector->connect(), *_iter); - connection->start(this); + connection->start(ICE_SHARED_FROM_THIS); } catch(const Ice::LocalException& ex) { @@ -1062,7 +1122,11 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::removeConnectors(const void IceInternal::OutgoingConnectionFactory::ConnectCallback::removeFromPending() { +#ifdef ICE_CPP11_MAPPING + _factory->removeFromPending(dynamic_pointer_cast<ConnectCallback>(shared_from_this()), _connectors); +#else _factory->removeFromPending(this, _connectors); +#endif } bool @@ -1345,8 +1409,8 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current) try { - connection = new ConnectionI(_adapter->getCommunicator(), _instance, _monitor, transceiver, 0, _endpoint, - _adapter); + connection = ConnectionI::create(_adapter->getCommunicator(), _instance, _monitor, transceiver, 0, + _endpoint, _adapter); } catch(const LocalException& ex) { @@ -1371,7 +1435,11 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current) } assert(connection); +#ifdef ICE_CPP11_MAPPING + connection->start(dynamic_pointer_cast<IncomingConnectionFactory>(shared_from_this())); +#else connection->start(this); +#endif } void @@ -1545,7 +1613,6 @@ IceInternal::IncomingConnectionFactory::initialize() { _endpoint = _endpoint->compress(_instance->defaultsAndOverrides()->overrideCompressValue); } - try { const_cast<TransceiverPtr&>(_transceiver) = _endpoint->transceiver(); @@ -1557,9 +1624,8 @@ IceInternal::IncomingConnectionFactory::initialize() out << "attempting to bind to " << _endpoint->protocol() << " socket\n" << _transceiver->toString(); } const_cast<EndpointIPtr&>(_endpoint) = _transceiver->bind(); - - ConnectionIPtr connection = new ConnectionI(_adapter->getCommunicator(), _instance, 0, _transceiver, 0, - _endpoint, _adapter); + ConnectionIPtr connection(ConnectionI::create(_adapter->getCommunicator(), _instance, 0, _transceiver, 0, + _endpoint, _adapter)); connection->start(0); _connections.insert(connection); } @@ -1627,7 +1693,12 @@ IceInternal::IncomingConnectionFactory::setState(State state) Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); out << "accepting " << _endpoint->protocol() << " connections at " << _acceptor->toString(); } +#ifdef ICE_CPP11_MAPPING + _adapter->getThreadPool()->_register(dynamic_pointer_cast<EventHandler>(shared_from_this()), + SocketOperationRead); +#else _adapter->getThreadPool()->_register(this, SocketOperationRead); +#endif } for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::activate)); break; @@ -1646,7 +1717,12 @@ IceInternal::IncomingConnectionFactory::setState(State state) Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); out << "holding " << _endpoint->protocol() << " connections at " << _acceptor->toString(); } +#ifdef ICE_CPP11_MAPPING + _adapter->getThreadPool()->unregister(dynamic_pointer_cast<EventHandler>(shared_from_this()), + SocketOperationRead); +#else _adapter->getThreadPool()->unregister(this, SocketOperationRead); +#endif } for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::hold)); break; @@ -1663,7 +1739,11 @@ IceInternal::IncomingConnectionFactory::setState(State state) // the finish() call. Not all selector implementations do support this // however. // +#ifdef ICE_CPP11_MAPPING + if(_adapter->getThreadPool()->finish(dynamic_pointer_cast<EventHandler>(shared_from_this()), true)) +#else if(_adapter->getThreadPool()->finish(this, true)) +#endif { closeAcceptor(); } @@ -1696,7 +1776,6 @@ IceInternal::IncomingConnectionFactory::createAcceptor() { _acceptor = _endpoint->acceptor(_adapter->getName()); assert(_acceptor); - if(_instance->traceLevels()->network >= 2) { Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); @@ -1704,18 +1783,25 @@ IceInternal::IncomingConnectionFactory::createAcceptor() } _endpoint = _acceptor->listen(); - if(_instance->traceLevels()->network >= 1) { Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); out << "listening for " << _endpoint->protocol() << " connections\n" << _acceptor->toDetailedString(); } +#ifdef ICE_CPP11_MAPPING + _adapter->getThreadPool()->initialize(dynamic_pointer_cast<EventHandler>(shared_from_this())); +#else _adapter->getThreadPool()->initialize(this); - +#endif if(_state == StateActive) { +#ifdef ICE_CPP11_MAPPING + _adapter->getThreadPool()->_register(dynamic_pointer_cast<EventHandler>(shared_from_this()), + SocketOperationRead); +#else _adapter->getThreadPool()->_register(this, SocketOperationRead); +#endif } } catch(const Ice::Exception&) diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h index bf211972ec8..433d5dbafe2 100644 --- a/cpp/src/Ice/ConnectionFactory.h +++ b/cpp/src/Ice/ConnectionFactory.h @@ -27,6 +27,7 @@ #include <Ice/EndpointI.h> #include <Ice/InstrumentationF.h> #include <Ice/ACMF.h> +#include <Ice/Comparable.h> #include <list> #include <set> @@ -36,7 +37,7 @@ namespace Ice class LocalException; class ObjectAdapterI; -typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; +ICE_DEFINE_PTR(ObjectAdapterIPtr, ObjectAdapterI); } @@ -68,11 +69,11 @@ public: void removeAdapter(const Ice::ObjectAdapterPtr&); void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&); -private: - OutgoingConnectionFactory(const Ice::CommunicatorPtr&, const InstancePtr&); virtual ~OutgoingConnectionFactory(); friend class Instance; + +private: struct ConnectorInfo { @@ -86,7 +87,11 @@ private: EndpointIPtr endpoint; }; - class ConnectCallback : public Ice::ConnectionI::StartCallback, public IceInternal::EndpointI_connectors + class ConnectCallback : public Ice::ConnectionI::StartCallback, + public IceInternal::EndpointI_connectors +#ifdef ICE_CPP11_MAPPING + , public ::std::enable_shared_from_this<::IceInternal::OutgoingConnectionFactory::ConnectCallback> +#endif { public: @@ -127,7 +132,7 @@ private: std::vector<ConnectorInfo> _connectors; std::vector<ConnectorInfo>::const_iterator _iter; }; - typedef IceUtil::Handle<ConnectCallback> ConnectCallbackPtr; + ICE_DEFINE_PTR(ConnectCallbackPtr, ConnectCallback); friend class ConnectCallback; std::vector<EndpointIPtr> applyOverrides(const std::vector<EndpointIPtr>&); @@ -156,7 +161,11 @@ private: std::multimap<ConnectorPtr, Ice::ConnectionIPtr> _connections; std::map<ConnectorPtr, std::set<ConnectCallbackPtr> > _pending; +#ifdef ICE_CPP11_MAPPING + std::multimap<EndpointIPtr, Ice::ConnectionIPtr, Ice::TargetLess<EndpointIPtr>> _connectionsByEndpoint; +#else std::multimap<EndpointIPtr, Ice::ConnectionIPtr> _connectionsByEndpoint; +#endif int _pendingConnectCount; }; @@ -201,11 +210,12 @@ public: virtual void connectionStartCompleted(const Ice::ConnectionIPtr&); virtual void connectionStartFailed(const Ice::ConnectionIPtr&, const Ice::LocalException&); -private: - IncomingConnectionFactory(const InstancePtr&, const EndpointIPtr&, const Ice::ObjectAdapterIPtr&); void initialize(); virtual ~IncomingConnectionFactory(); + +private: + friend class Ice::ObjectAdapterI; enum State diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index 4a078bcc1f8..a824fbf0107 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -38,7 +38,9 @@ using namespace Ice; using namespace Ice::Instrumentation; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING Ice::LocalObject* Ice::upCast(ConnectionI* p) { return p; } +#endif namespace { @@ -353,7 +355,12 @@ Ice::ConnectionI::start(const StartCallbackPtr& callback) exception(ex); if(callback) { +#ifdef ICE_CPP11_MAPPING + callback->connectionStartFailed(dynamic_pointer_cast<ConnectionI>(shared_from_this()), + *_exception.get()); +#else callback->connectionStartFailed(this, *_exception.get()); +#endif return; } else @@ -365,7 +372,11 @@ Ice::ConnectionI::start(const StartCallbackPtr& callback) if(callback) { +#ifdef ICE_CPP11_MAPPING + callback->connectionStartCompleted(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else callback->connectionStartCompleted(this); +#endif } } @@ -725,8 +736,11 @@ Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncBasePtr& out, bool compres // Notify the request that it's cancelable with this connection. // This will throw if the request is canceled. // +#ifdef ICE_CPP11_MAPPING + out->cancelable(dynamic_pointer_cast<CancellationHandler>(shared_from_this())); +#else out->cancelable(this); - +#endif Int requestId = 0; if(response) { @@ -799,6 +813,81 @@ Ice::ConnectionI::flushBatchRequests() out.invoke(); } +#ifdef ICE_CPP11_MAPPING +function<void ()> +Ice::ConnectionI::flushBatchRequests_async(function<void ()>, function<void (exception_ptr)> exception, + function<void (bool)> sent) +{ + class FlushBatchRequestsCallback : public CallbackBase + { + public: + + FlushBatchRequestsCallback(function<void (exception_ptr)> exception, + function<void (bool)> sent, + shared_ptr<Connection> connection) : + _exception(move(exception)), + _sent(move(sent)), + _connection(move(connection)) + { + } + + virtual void sent(const AsyncResultPtr& result) const + { + try + { + AsyncResult::__check(result, _connection.get(), __flushBatchRequests_name); + result->__wait(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + + if(_sent) + { + _sent(result->sentSynchronously()); + } + } + + virtual bool hasSentCallback() const + { + return true; + } + + + virtual void + completed(const ::Ice::AsyncResultPtr& result) const + { + try + { + AsyncResult::__check(result, _connection.get(), __flushBatchRequests_name); + result->__wait(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + } + + private: + + function<void (exception_ptr)> _exception; + function<void (bool)> _sent; + shared_ptr<Connection> _connection; + }; + + auto self = dynamic_pointer_cast<ConnectionI>(shared_from_this()); + + auto result = make_shared<ConnectionFlushBatchAsync>(self, _communicator, _instance, __flushBatchRequests_name, + make_shared<FlushBatchRequestsCallback>(move(exception), move(sent), self)); + result->invoke(); + return [result]() + { + result->cancel(); + }; +} +#else + AsyncResultPtr Ice::ConnectionI::begin_flushBatchRequests() { @@ -822,7 +911,7 @@ AsyncResultPtr Ice::ConnectionI::begin_flushBatchRequests(const IceInternal::Function<void (const Exception&)>& exception, const IceInternal::Function<void (bool)>& sent) { -#ifdef ICE_CPP11 +#ifdef ICE_CPP11_COMPILER class Cpp11CB : public IceInternal::Cpp11FnCallbackNC { public: @@ -851,7 +940,7 @@ Ice::ConnectionI::begin_flushBatchRequests(const IceInternal::Function<void (con } }; - return __begin_flushBatchRequests(new Cpp11CB(exception, sent), 0); + return __begin_flushBatchRequests(ICE_MAKE_SHARED(Cpp11CB, exception, sent), 0); #else assert(false); // Ice not built with C++11 support. return 0; @@ -861,12 +950,17 @@ Ice::ConnectionI::begin_flushBatchRequests(const IceInternal::Function<void (con AsyncResultPtr Ice::ConnectionI::__begin_flushBatchRequests(const CallbackBasePtr& cb, const LocalObjectPtr& cookie) { - ConnectionFlushBatchAsyncPtr result = new ConnectionFlushBatchAsync(this, - _communicator, - _instance, - __flushBatchRequests_name, - cb, - cookie); + ConnectionFlushBatchAsyncPtr result = new ConnectionFlushBatchAsync( +#ifdef ICE_CPP11_MAPPING + dynamic_pointer_cast<EventHandler>(shared_from_this()), +#else + this, +#endif + _communicator, + _instance, + __flushBatchRequests_name, + cb, + cookie); result->invoke(); return result; } @@ -877,6 +971,7 @@ Ice::ConnectionI::end_flushBatchRequests(const AsyncResultPtr& r) AsyncResult::__check(r, this, __flushBatchRequests_name); r->__wait(); } +#endif void Ice::ConnectionI::setCallback(const ConnectionCallbackPtr& callback) @@ -907,7 +1002,11 @@ Ice::ConnectionI::setCallback(const ConnectionCallbackPtr& callback) const ConnectionIPtr _connection; const ConnectionCallbackPtr _callback; }; +#ifdef ICE_CPP11_MAPPING + _threadPool->dispatch(new CallbackWorkItem(dynamic_pointer_cast<ConnectionI>(shared_from_this()), callback)); +#else _threadPool->dispatch(new CallbackWorkItem(this, callback)); +#endif } } else @@ -922,7 +1021,11 @@ Ice::ConnectionI::closeCallback(const ConnectionCallbackPtr& callback) { try { +#ifdef ICE_CPP11_MAPPING + callback->closed(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else callback->closed(this); +#endif } catch(const std::exception& ex) { @@ -949,7 +1052,11 @@ Ice::ConnectionI::setACM(const IceUtil::Optional<int>& timeout, if(_state == StateActive) { +#ifdef ICE_CPP11_MAPPING + _monitor->remove(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else _monitor->remove(this); +#endif } _monitor = _monitor->acm(timeout, close, heartbeat); @@ -964,7 +1071,11 @@ Ice::ConnectionI::setACM(const IceUtil::Optional<int>& timeout, if(_state == StateActive) { +#ifdef ICE_CPP11_MAPPING + _monitor->add(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else _monitor->add(this); +#endif } } @@ -1089,7 +1200,7 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con if(o->requestId) { if(_asyncRequestsHint != _asyncRequests.end() && - _asyncRequestsHint->second == OutgoingAsyncPtr::dynamicCast(outAsync)) + _asyncRequestsHint->second == ICE_DYNAMIC_CAST(OutgoingAsync, outAsync)) { _asyncRequests.erase(_asyncRequestsHint); _asyncRequestsHint = _asyncRequests.end(); @@ -1128,7 +1239,7 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con } } - if(OutgoingAsyncPtr::dynamicCast(outAsync)) + if(ICE_DYNAMIC_CAST(OutgoingAsync, outAsync)) { if(_asyncRequestsHint != _asyncRequests.end()) { @@ -1335,14 +1446,19 @@ Ice::ConnectionI::getEndpoint() const return _endpoint; // No mutex protection necessary, _endpoint is immutable. } -ObjectPrx +ObjectPrxPtr Ice::ConnectionI::createProxy(const Identity& ident) const { // // Create a reference and return a reverse proxy for this // reference. // - ConnectionIPtr self = const_cast<ConnectionI*>(this); + ConnectionIPtr self = +#ifdef ICE_CPP11_MAPPING + dynamic_pointer_cast<ConnectionI>(const_pointer_cast<VirtualShared>(shared_from_this())); +#else + const_cast<ConnectionI*>(this); +#endif return _instance->proxyFactory()->referenceToProxy(_instance->referenceFactory()->create(ident, self)); } @@ -1461,7 +1577,6 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current) int dispatchCount = 0; ThreadPoolMessage<ConnectionI> msg(current, *this); - { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); @@ -1593,7 +1708,12 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current) // satisfied before continuing. // scheduleTimeout(newOp); +#ifdef ICE_CPP11_MAPPING + _threadPool->update(dynamic_pointer_cast<EventHandler>(shared_from_this()), + current.operation, newOp); +#else _threadPool->update(this, current.operation, newOp); +#endif return; } @@ -1607,7 +1727,12 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current) return; } +#ifdef ICE_CPP11_MAPPING + _threadPool->unregister(dynamic_pointer_cast<EventHandler>(shared_from_this()), + current.operation); +#else _threadPool->unregister(this, current.operation); +#endif // // We start out in holding state. @@ -1655,7 +1780,12 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current) if(_state < StateClosed) { scheduleTimeout(newOp); +#ifdef ICE_CPP11_MAPPING + _threadPool->update(dynamic_pointer_cast<EventHandler>(shared_from_this()), current.operation, + newOp); +#else _threadPool->update(this, current.operation, newOp); +#endif } } @@ -1717,9 +1847,15 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current) } else { - _threadPool->dispatchFromThisThread(new DispatchCall(this, startCB, sentCBs, compress, requestId, invokeNum, - servantManager, adapter, outAsync, heartbeatCallback, - current.stream)); +#ifdef ICE_CPP11_MAPPING + _threadPool->dispatchFromThisThread(new DispatchCall(dynamic_pointer_cast<ConnectionI>(shared_from_this()), + startCB, sentCBs, compress, requestId, invokeNum, servantManager, adapter, outAsync, heartbeatCallback, + current.stream)); +#else + _threadPool->dispatchFromThisThread(new DispatchCall(this, startCB, sentCBs, compress, requestId, + invokeNum, servantManager, adapter, outAsync, heartbeatCallback, current.stream)); +#endif + } } @@ -1737,7 +1873,12 @@ ConnectionI::dispatch(const StartCallbackPtr& startCB, const vector<OutgoingMess // if(startCB) { + +#ifdef ICE_CPP11_MAPPING + startCB->connectionStartCompleted(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else startCB->connectionStartCompleted(this); +#endif ++dispatchedCount; } @@ -1755,7 +1896,7 @@ ConnectionI::dispatch(const StartCallbackPtr& startCB, const vector<OutgoingMess } if(p->receivedReply) { - OutgoingAsyncPtr outAsync = OutgoingAsyncPtr::dynamicCast(p->outAsync); + OutgoingAsyncPtr outAsync = ICE_DYNAMIC_CAST(OutgoingAsync, p->outAsync); if(outAsync->completed()) { outAsync->invokeCompleted(); @@ -1782,7 +1923,11 @@ ConnectionI::dispatch(const StartCallbackPtr& startCB, const vector<OutgoingMess { try { +#ifdef ICE_CPP11_MAPPING + heartbeatCallback->heartbeat(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else heartbeatCallback->heartbeat(this); +#endif } catch(const std::exception& ex) { @@ -1874,7 +2019,12 @@ Ice::ConnectionI::finished(ThreadPoolCurrent& current, bool close) } else { +#ifdef ICE_CPP11_MAPPING + _threadPool->dispatchFromThisThread(new FinishCall( + dynamic_pointer_cast<ConnectionI>(shared_from_this()), close)); +#else _threadPool->dispatchFromThisThread(new FinishCall(this, close)); +#endif } } @@ -1919,7 +2069,12 @@ Ice::ConnectionI::finish(bool close) if(_startCallback) { +#ifdef ICE_CPP11_MAPPING + _startCallback->connectionStartFailed( + dynamic_pointer_cast<ConnectionI>(shared_from_this()), *_exception.get()); +#else _startCallback->connectionStartFailed(this, *_exception.get()); +#endif _startCallback = 0; } @@ -1948,7 +2103,7 @@ Ice::ConnectionI::finish(bool close) } if(message->receivedReply) { - OutgoingAsyncPtr outAsync = OutgoingAsyncPtr::dynamicCast(message->outAsync); + OutgoingAsyncPtr outAsync = ICE_DYNAMIC_CAST(OutgoingAsync, message->outAsync); if(outAsync->completed()) { outAsync->invokeCompleted(); @@ -2156,26 +2311,29 @@ Ice::ConnectionI::ConnectionI(const CommunicatorPtr& communicator, { _acmLastActivity = IceUtil::Time::now(IceUtil::Time::Monotonic); } +} - __setNoDelete(true); - try +Ice::ConnectionIPtr +Ice::ConnectionI::create(const CommunicatorPtr& communicator, + const InstancePtr& instance, + const ACMMonitorPtr& monitor, + const TransceiverPtr& transceiver, + const ConnectorPtr& connector, + const EndpointIPtr& endpoint, + const ObjectAdapterIPtr& adapter) +{ + Ice::ConnectionIPtr conn(new ConnectionI(communicator, instance, monitor, transceiver, connector, + endpoint, adapter)); + if(adapter) { - if(adapter) - { - const_cast<ThreadPoolPtr&>(_threadPool) = adapter->getThreadPool(); - } - else - { - const_cast<ThreadPoolPtr&>(_threadPool) = _instance->clientThreadPool(); - } - _threadPool->initialize(this); + const_cast<ThreadPoolPtr&>(conn->_threadPool) = adapter->getThreadPool(); } - catch(const IceUtil::Exception&) + else { - __setNoDelete(false); - throw; + const_cast<ThreadPoolPtr&>(conn->_threadPool) = conn->_instance->clientThreadPool(); } - __setNoDelete(false); + conn->_threadPool->initialize(conn); + return conn; } Ice::ConnectionI::~ConnectionI() @@ -2296,7 +2454,12 @@ Ice::ConnectionI::setState(State state) { return; } +#ifdef ICE_CPP11_MAPPING + _threadPool->_register(dynamic_pointer_cast<EventHandler>(shared_from_this()), + SocketOperationRead); +#else _threadPool->_register(this, SocketOperationRead); +#endif break; } @@ -2312,7 +2475,12 @@ Ice::ConnectionI::setState(State state) } if(_state == StateActive) { +#ifdef ICE_CPP11_MAPPING + _threadPool->unregister(dynamic_pointer_cast<EventHandler>(shared_from_this()), + SocketOperationRead); +#else _threadPool->unregister(this, SocketOperationRead); +#endif } break; } @@ -2343,7 +2511,11 @@ Ice::ConnectionI::setState(State state) // Don't need to close now for connections so only close the transceiver // if the selector request it. // +#ifdef ICE_CPP11_MAPPING + if(_threadPool->finish(dynamic_pointer_cast<EventHandler>(shared_from_this()), false)) +#else if(_threadPool->finish(this, false)) +#endif { _transceiver->close(); } @@ -2378,11 +2550,19 @@ Ice::ConnectionI::setState(State state) { _acmLastActivity = IceUtil::Time::now(IceUtil::Time::Monotonic); } +#ifdef ICE_CPP11_MAPPING + _monitor->add(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else _monitor->add(this); +#endif } else if(_state == StateActive) { +#ifdef ICE_CPP11_MAPPING + _monitor->remove(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else _monitor->remove(this); +#endif } } @@ -2467,7 +2647,11 @@ Ice::ConnectionI::initiateShutdown() if(op) { scheduleTimeout(op); +#ifdef ICE_CPP11_MAPPING + _threadPool->_register(dynamic_pointer_cast<EventHandler>(shared_from_this()), op); +#else _threadPool->_register(this, op); +#endif } } } @@ -2511,7 +2695,11 @@ Ice::ConnectionI::initialize(SocketOperation operation) if(s != SocketOperationNone) { scheduleTimeout(s); +#ifdef ICE_CPP11_MAPPING + _threadPool->update(dynamic_pointer_cast<EventHandler>(shared_from_this()), operation, s); +#else _threadPool->update(this, operation, s); +#endif return false; } @@ -2557,7 +2745,11 @@ Ice::ConnectionI::validate(SocketOperation operation) if(op) { scheduleTimeout(op); +#ifdef ICE_CPP11_MAPPING + _threadPool->update(dynamic_pointer_cast<EventHandler>(shared_from_this()), operation, op); +#else _threadPool->update(this, operation, op); +#endif return false; } } @@ -2586,7 +2778,11 @@ Ice::ConnectionI::validate(SocketOperation operation) if(op) { scheduleTimeout(op); +#ifdef ICE_CPP11_MAPPING + _threadPool->update(dynamic_pointer_cast<EventHandler>(shared_from_this()), operation, op); +#else _threadPool->update(this, operation, op); +#endif return false; } } @@ -2964,7 +3160,11 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) _writeStream.swap(*_sendStreams.back().stream); scheduleTimeout(op); +#ifdef ICE_CPP11_MAPPING + _threadPool->_register(dynamic_pointer_cast<EventHandler>(shared_from_this()), op); +#else _threadPool->_register(this, op); +#endif return AsyncStatusQueued; } @@ -3520,7 +3720,7 @@ Ice::ConnectionI::initConnectionInfo() const } catch(const Ice::LocalException&) { - _info = new ConnectionInfo(); + _info = ICE_MAKE_SHARED(ConnectionInfo); } _info->connectionId = _endpoint->connectionId(); _info->incoming = _connector == 0; @@ -3579,7 +3779,11 @@ ConnectionI::reap() { if(_monitor) { +#ifdef ICE_CPP11_MAPPING + _monitor->reap(dynamic_pointer_cast<ConnectionI>(shared_from_this())); +#else _monitor->reap(this); +#endif } if(_observer) { diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h index fdb80901122..c3b4c270311 100644 --- a/cpp/src/Ice/ConnectionI.h +++ b/cpp/src/Ice/ConnectionI.h @@ -60,7 +60,7 @@ namespace Ice class LocalException; class ObjectAdapterI; -typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; +ICE_DEFINE_PTR(ObjectAdapterIPtr, ObjectAdapterI); class ConnectionI : public Connection, public IceInternal::EventHandler, @@ -134,6 +134,17 @@ public: #endif }; + +#ifdef ICE_CPP11_MAPPING + class StartCallback + { + public: + + virtual void connectionStartCompleted(const ConnectionIPtr&) = 0; + virtual void connectionStartFailed(const ConnectionIPtr&, const Ice::LocalException&) = 0; + }; + typedef ::std::shared_ptr<StartCallback> StartCallbackPtr; +#else class StartCallback : virtual public IceUtil::Shared { public: @@ -142,7 +153,8 @@ public: virtual void connectionStartFailed(const ConnectionIPtr&, const Ice::LocalException&) = 0; }; typedef IceUtil::Handle<StartCallback> StartCallbackPtr; - +#endif + enum DestructionReason { ObjectAdapterDeactivated, @@ -174,16 +186,22 @@ public: virtual void flushBatchRequests(); // From Connection. +#ifdef ICE_CPP11_MAPPING + virtual std::function<void ()> + flushBatchRequests_async(::std::function<void ()> completed, + ::std::function<void (::std::exception_ptr)> exception = nullptr, + ::std::function<void (bool)> sent = nullptr); +#else virtual AsyncResultPtr begin_flushBatchRequests(); virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0); virtual AsyncResultPtr begin_flushBatchRequests(const Callback_Connection_flushBatchRequestsPtr&, const LocalObjectPtr& = 0); - virtual AsyncResultPtr begin_flushBatchRequests( const ::IceInternal::Function<void (const ::Ice::Exception&)>&, const ::IceInternal::Function<void (bool)>& = ::IceInternal::Function<void (bool)>()); virtual void end_flushBatchRequests(const AsyncResultPtr&); +#endif virtual void setCallback(const ConnectionCallbackPtr&); virtual void setACM(const IceUtil::Optional<int>&, @@ -205,7 +223,7 @@ public: virtual void setAdapter(const ObjectAdapterPtr&); // From Connection. virtual ObjectAdapterPtr getAdapter() const; // From Connection. virtual EndpointPtr getEndpoint() const; // From Connection. - virtual ObjectPrx createProxy(const Identity& ident) const; // From Connection. + virtual ObjectPrxPtr createProxy(const Identity& ident) const; // From Connection. // // Operations from EventHandler @@ -238,8 +256,20 @@ public: void closeCallback(const ConnectionCallbackPtr&); + + virtual ~ConnectionI(); + private: + ConnectionI(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, + const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, + const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); + + static ConnectionIPtr + create(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, + const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, + const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); + enum State { StateNotInitialized, @@ -252,11 +282,6 @@ private: StateFinished }; - ConnectionI(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, - const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, - const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); - virtual ~ConnectionI(); - friend class IceInternal::IncomingConnectionFactory; friend class IceInternal::OutgoingConnectionFactory; diff --git a/cpp/src/Ice/ConnectionRequestHandler.cpp b/cpp/src/Ice/ConnectionRequestHandler.cpp index cab544915e6..62bcebb111c 100644 --- a/cpp/src/Ice/ConnectionRequestHandler.cpp +++ b/cpp/src/Ice/ConnectionRequestHandler.cpp @@ -51,7 +51,7 @@ ConnectionRequestHandler::update(const RequestHandlerPtr& previousHandler, const { // Ignore. } - return this; + return ICE_SHARED_FROM_THIS; } bool diff --git a/cpp/src/Ice/ConnectionRequestHandler.h b/cpp/src/Ice/ConnectionRequestHandler.h index cef3df68f4d..29f70063768 100644 --- a/cpp/src/Ice/ConnectionRequestHandler.h +++ b/cpp/src/Ice/ConnectionRequestHandler.h @@ -17,7 +17,8 @@ namespace IceInternal { -class ConnectionRequestHandler : public RequestHandler +class ConnectionRequestHandler : public RequestHandler, + public ICE_ENABLE_SHARED_FROM_THIS(ConnectionRequestHandler) { public: diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp index aaf5a101e67..fc13d9188d7 100644 --- a/cpp/src/Ice/DynamicLibrary.cpp +++ b/cpp/src/Ice/DynamicLibrary.cpp @@ -89,7 +89,7 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc if(comma == string::npos) { libName = libSpec; -# if defined(ICE_CPP11) && defined(__GLIBCXX__) +# if defined(ICE_CPP11_COMPILER) && defined(__GLIBCXX__) libName += "++11"; # endif if(useIceVersion) @@ -119,7 +119,7 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc return 0; } libName = libSpec.substr(0, comma); -# if defined(ICE_CPP11) && defined(__GLIBCXX__) +# if defined(ICE_CPP11_COMPILER) && defined(__GLIBCXX__) libName += "++11"; # endif version = libSpec.substr(comma + 1); diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp index 25487819338..6830eda8521 100644 --- a/cpp/src/Ice/EndpointFactoryManager.cpp +++ b/cpp/src/Ice/EndpointFactoryManager.cpp @@ -140,7 +140,7 @@ IceInternal::EndpointFactoryManager::create(const string& str, bool oaEndpoint) // if(protocol == "opaque") { - EndpointIPtr ue = new OpaqueEndpointI(v); + EndpointIPtr ue = ICE_MAKE_SHARED(OpaqueEndpointI, v); if(!v.empty()) { EndpointParseException ex(__FILE__, __LINE__); @@ -189,7 +189,7 @@ IceInternal::EndpointFactoryManager::read(BasicStream* s) const } else { - e = new OpaqueEndpointI(type, s); + e = ICE_MAKE_SHARED(OpaqueEndpointI, type, s); } s->endReadEncaps(); diff --git a/cpp/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp index bb967ab0e26..073b9049549 100644 --- a/cpp/src/Ice/EndpointI.cpp +++ b/cpp/src/Ice/EndpointI.cpp @@ -11,8 +11,10 @@ using namespace std; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(EndpointI* p) { return p; } IceUtil::Shared* IceInternal::upCast(EndpointI_connectors* p) { return p; } +#endif string IceInternal::EndpointI::toString() const diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h index df41372bd82..6000f706bdb 100644 --- a/cpp/src/Ice/EndpointI.h +++ b/cpp/src/Ice/EndpointI.h @@ -22,7 +22,10 @@ namespace IceInternal class BasicStream; -class ICE_API EndpointI_connectors : public virtual IceUtil::Shared +class ICE_API EndpointI_connectors +#ifndef ICE_CPP11_MAPPING + : public virtual IceUtil::Shared +#endif { public: @@ -32,7 +35,8 @@ public: virtual void exception(const Ice::LocalException&) = 0; }; -class ICE_API EndpointI : public Ice::Endpoint +class ICE_API EndpointI : public Ice::Endpoint, + public ICE_ENABLE_SHARED_FROM_THIS(EndpointI) { public: @@ -131,8 +135,13 @@ public: // // Compare endpoints for sorting purposes. // +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const = 0; + virtual bool operator<(const EndpointI&) const = 0; +#else virtual bool operator==(const Ice::LocalObject&) const = 0; virtual bool operator<(const Ice::LocalObject&) const = 0; +#endif virtual ::Ice::Int hash() const = 0; @@ -150,6 +159,7 @@ protected: }; +#ifndef ICE_CPP11_MAPPING inline bool operator==(const EndpointI& l, const EndpointI& r) { return static_cast<const ::Ice::LocalObject&>(l) == static_cast<const ::Ice::LocalObject&>(r); @@ -159,6 +169,7 @@ inline bool operator<(const EndpointI& l, const EndpointI& r) { return static_cast<const ::Ice::LocalObject&>(l) < static_cast<const ::Ice::LocalObject&>(r); } +#endif template<typename T> class InfoI : public T { diff --git a/cpp/src/Ice/EndpointIF.h b/cpp/src/Ice/EndpointIF.h index b851a8871b9..47959d98c28 100644 --- a/cpp/src/Ice/EndpointIF.h +++ b/cpp/src/Ice/EndpointIF.h @@ -17,25 +17,38 @@ namespace IceInternal { class EndpointI; +class TcpEndpointI; +class UdpEndpointI; +class WSEndpoint; +class EndpointI_connectors; + +#ifdef ICE_CPP11_MAPPING // C++11 mapping + +typedef ::std::shared_ptr<EndpointI> EndpointIPtr; +typedef ::std::shared_ptr<TcpEndpointI> TcpEndpointIPtr; +typedef ::std::shared_ptr<UdpEndpointI> UdpEndpointIPtr; +typedef ::std::shared_ptr<WSEndpoint> WSEndpointPtr; +typedef ::std::shared_ptr<EndpointI_connectors> EndpointI_connectorsPtr; + +#else // C++98 mapping + ICE_API IceUtil::Shared* upCast(EndpointI*); typedef Handle<EndpointI> EndpointIPtr; -class TcpEndpointI; ICE_API IceUtil::Shared* upCast(TcpEndpointI*); typedef Handle<TcpEndpointI> TcpEndpointIPtr; -class UdpEndpointI; ICE_API IceUtil::Shared* upCast(UdpEndpointI*); typedef Handle<UdpEndpointI> UdpEndpointIPtr; -class WSEndpoint; ICE_API IceUtil::Shared* upCast(WSEndpoint*); typedef Handle<WSEndpoint> WSEndpointPtr; -class EndpointI_connectors; ICE_API IceUtil::Shared* upCast(EndpointI_connectors*); typedef Handle<EndpointI_connectors> EndpointI_connectorsPtr; +#endif + } #endif diff --git a/cpp/src/Ice/EventHandler.cpp b/cpp/src/Ice/EventHandler.cpp index 6edea2d9307..ffa7f218c92 100644 --- a/cpp/src/Ice/EventHandler.cpp +++ b/cpp/src/Ice/EventHandler.cpp @@ -14,7 +14,9 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(EventHandler* p) { return p; } +#endif IceInternal::EventHandler::EventHandler() : #if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) diff --git a/cpp/src/Ice/EventHandler.h b/cpp/src/Ice/EventHandler.h index a47a1899d10..47e4473ca1b 100644 --- a/cpp/src/Ice/EventHandler.h +++ b/cpp/src/Ice/EventHandler.h @@ -16,11 +16,17 @@ #include <Ice/ThreadPoolF.h> #include <Ice/BasicStream.h> #include <Ice/Network.h> +#include <Ice/VirtualShared.h> namespace IceInternal { -class ICE_API EventHandler : virtual public ::Ice::LocalObject +class ICE_API EventHandler : +#ifdef ICE_CPP11_MAPPING + virtual public VirtualShared +#else + virtual public ::Ice::LocalObject +#endif { public: diff --git a/cpp/src/Ice/EventHandlerF.h b/cpp/src/Ice/EventHandlerF.h index e627e964c4d..878651e40db 100644 --- a/cpp/src/Ice/EventHandlerF.h +++ b/cpp/src/Ice/EventHandlerF.h @@ -18,9 +18,12 @@ namespace IceInternal { class EventHandler; +#ifdef ICE_CPP11_MAPPING +typedef ::std::shared_ptr<EventHandler> EventHandlerPtr; +#else ICE_API IceUtil::Shared* upCast(EventHandler*); typedef Handle<EventHandler> EventHandlerPtr; - +#endif } #endif diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp index 7efe9309ee9..d23255ef4ab 100644 --- a/cpp/src/Ice/Exception.cpp +++ b/cpp/src/Ice/Exception.cpp @@ -66,7 +66,7 @@ namespace Ex { void -throwUOE(const string& expectedType, const ObjectPtr& v) +throwUOE(const string& expectedType, const ValuePtr& v) { // // If the object is an unknown sliced object, we didn't find an diff --git a/cpp/src/Ice/FactoryTable.cpp b/cpp/src/Ice/FactoryTable.cpp index aae6142bb3d..bc48ab8d6e9 100644 --- a/cpp/src/Ice/FactoryTable.cpp +++ b/cpp/src/Ice/FactoryTable.cpp @@ -10,12 +10,14 @@ #include <Ice/FactoryTable.h> #include <Ice/ObjectFactory.h> +using namespace std; + // // Add a factory to the exception factory table. // If the factory is present already, increment its reference count. // void -IceInternal::FactoryTable::addExceptionFactory(const std::string& t, const IceInternal::UserExceptionFactoryPtr& f) +IceInternal::FactoryTable::addExceptionFactory(const string& t, const IceInternal::UserExceptionFactoryPtr& f) { IceUtil::Mutex::Lock lock(_m); assert(f); @@ -34,7 +36,7 @@ IceInternal::FactoryTable::addExceptionFactory(const std::string& t, const IceIn // Return the exception factory for a given type ID // IceInternal::UserExceptionFactoryPtr -IceInternal::FactoryTable::getExceptionFactory(const std::string& t) const +IceInternal::FactoryTable::getExceptionFactory(const string& t) const { IceUtil::Mutex::Lock lock(_m); EFTable::const_iterator i = _eft.find(t); @@ -48,7 +50,7 @@ IceInternal::FactoryTable::getExceptionFactory(const std::string& t) const // entry from the table. // void -IceInternal::FactoryTable::removeExceptionFactory(const std::string& t) +IceInternal::FactoryTable::removeExceptionFactory(const string& t) { IceUtil::Mutex::Lock lock(_m); EFTable::iterator i = _eft.find(t); @@ -64,8 +66,13 @@ IceInternal::FactoryTable::removeExceptionFactory(const std::string& t) // // Add a factory to the object factory table. // +#ifdef ICE_CPP11_MAPPING +void +IceInternal::FactoryTable::addObjectFactory(const string& t, function<::Ice::ValuePtr (const string&)> f) +#else void -IceInternal::FactoryTable::addObjectFactory(const std::string& t, const Ice::ObjectFactoryPtr& f) +IceInternal::FactoryTable::addObjectFactory(const string& t, const ::Ice::ObjectFactoryPtr& f) +#endif { IceUtil::Mutex::Lock lock(_m); assert(f); @@ -83,13 +90,23 @@ IceInternal::FactoryTable::addObjectFactory(const std::string& t, const Ice::Obj // // Return the object factory for a given type ID // +#ifdef ICE_CPP11_MAPPING +function<Ice::ValuePtr(const string&)> +IceInternal::FactoryTable::getObjectFactory(const string& t) const +{ + IceUtil::Mutex::Lock lock(_m); + OFTable::const_iterator i = _oft.find(t); + return i != _oft.end() ? i->second.first : nullptr; +} +#else Ice::ObjectFactoryPtr -IceInternal::FactoryTable::getObjectFactory(const std::string& t) const +IceInternal::FactoryTable::getObjectFactory(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(); } +#endif // // Remove a factory from the object factory table. If the factory @@ -98,7 +115,7 @@ IceInternal::FactoryTable::getObjectFactory(const std::string& t) const // entry from the table. // void -IceInternal::FactoryTable::removeObjectFactory(const std::string& t) +IceInternal::FactoryTable::removeObjectFactory(const string& t) { IceUtil::Mutex::Lock lock(_m); OFTable::iterator i = _oft.find(t); @@ -115,7 +132,7 @@ IceInternal::FactoryTable::removeObjectFactory(const std::string& t) // Add a factory to the object factory table. // void -IceInternal::FactoryTable::addTypeId(int compactId, const std::string& typeId) +IceInternal::FactoryTable::addTypeId(int compactId, const string& typeId) { IceUtil::Mutex::Lock lock(_m); assert(!typeId.empty() && compactId >= 0); @@ -133,12 +150,12 @@ IceInternal::FactoryTable::addTypeId(int compactId, const std::string& typeId) // // Return the type ID for the given compact ID // -std::string +string IceInternal::FactoryTable::getTypeId(int compactId) const { IceUtil::Mutex::Lock lock(_m); TypeIdTable::const_iterator i = _typeIdTable.find(compactId); - return i != _typeIdTable.end() ? i->second.first : std::string(); + return i != _typeIdTable.end() ? i->second.first : string(); } void diff --git a/cpp/src/Ice/GCObject.cpp b/cpp/src/Ice/GCObject.cpp index 303116f8679..f5101ded9c9 100644 --- a/cpp/src/Ice/GCObject.cpp +++ b/cpp/src/Ice/GCObject.cpp @@ -9,6 +9,8 @@ #include <Ice/GCObject.h> +#ifndef ICE_CPP11_MAPPING + #include <set> #include <stack> @@ -442,3 +444,4 @@ GCObject::collect(IceUtilInternal::MutexPtrLock<IceUtil::Mutex>& lock) } return true; } +#endif diff --git a/cpp/src/Ice/IPEndpointI.cpp b/cpp/src/Ice/IPEndpointI.cpp index 49c17dba4ad..74d274d8d77 100644 --- a/cpp/src/Ice/IPEndpointI.cpp +++ b/cpp/src/Ice/IPEndpointI.cpp @@ -46,7 +46,9 @@ Init init; } +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(IPEndpointI* p) { return p; } +#endif IceUtil::Shared* IceInternal::upCast(EndpointHostResolver* p) { return p; } IceInternal::IPEndpointInfoI::IPEndpointInfoI(const EndpointIPtr& endpoint) : _endpoint(endpoint) @@ -78,7 +80,13 @@ IceInternal::IPEndpointInfoI::secure() const Ice::EndpointInfoPtr IceInternal::IPEndpointI::getInfo() const { - Ice::IPEndpointInfoPtr info = new IPEndpointInfoI(const_cast<IPEndpointI*>(this)); + Ice::IPEndpointInfoPtr info +#ifdef ICE_CPP11_MAPPING + = make_shared<IPEndpointInfoI>( + dynamic_pointer_cast<IPEndpointI>(const_pointer_cast<EndpointI>(shared_from_this()))); +#else + = new IPEndpointInfoI(const_cast<IPEndpointI*>(this)); +#endif fillEndpointInfo(info.get()); return info; } @@ -121,7 +129,12 @@ IceInternal::IPEndpointI::connectionId(const string& connectionId) const { if(connectionId == _connectionId) { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<IPEndpointI>( + const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<IPEndpointI*>(this); +#endif } else { @@ -144,7 +157,13 @@ IceInternal::IPEndpointI::port() const void IceInternal::IPEndpointI::connectors_async(Ice::EndpointSelectionType selType, const EndpointI_connectorsPtr& cb) const { - _instance->resolve(_host, _port, selType, const_cast<IPEndpointI*>(this), cb); + _instance->resolve(_host, _port, selType, +#ifdef ICE_CPP11_MAPPING + dynamic_pointer_cast<IPEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())), +#else + const_cast<IPEndpointI*>(this), +#endif + cb); } vector<EndpointIPtr> @@ -154,7 +173,13 @@ IceInternal::IPEndpointI::expand() const vector<string> hosts = getHostsForEndpointExpand(_host, _instance->protocolSupport(), false); if(hosts.empty()) { - endps.push_back(const_cast<IPEndpointI*>(this)); + endps.push_back( +#ifdef ICE_CPP11_MAPPING + dynamic_pointer_cast<IPEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())) +#else + const_cast<IPEndpointI*>(this) +#endif + ); } else { @@ -229,7 +254,11 @@ IceInternal::IPEndpointI::options() const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::IPEndpointI::operator==(const EndpointI& r) const +#else IceInternal::IPEndpointI::operator==(const LocalObject& r) const +#endif { const IPEndpointI* p = dynamic_cast<const IPEndpointI*>(&r); if(!p) @@ -261,12 +290,15 @@ IceInternal::IPEndpointI::operator==(const LocalObject& r) const { return false; } - return true; } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::IPEndpointI::operator<(const EndpointI& r) const +#else IceInternal::IPEndpointI::operator<(const LocalObject& r) const +#endif { const IPEndpointI* p = dynamic_cast<const IPEndpointI*>(&r); if(!p) diff --git a/cpp/src/Ice/IPEndpointI.h b/cpp/src/Ice/IPEndpointI.h index 91263da5f39..396d25fdad8 100644 --- a/cpp/src/Ice/IPEndpointI.h +++ b/cpp/src/Ice/IPEndpointI.h @@ -62,8 +62,13 @@ public: virtual ::Ice::Int hash() const; virtual std::string options() const; +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const; + virtual bool operator<(const EndpointI&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; +#endif virtual std::vector<ConnectorPtr> connectors(const std::vector<Address>&, const NetworkProxyPtr&) const; const std::string& host() const; @@ -143,6 +148,7 @@ private: #endif }; +#ifndef ICE_CPP11_MAPPING inline bool operator==(const IPEndpointI& l, const IPEndpointI& r) { return static_cast<const ::Ice::LocalObject&>(l) == static_cast<const ::Ice::LocalObject&>(r); @@ -152,6 +158,7 @@ inline bool operator<(const IPEndpointI& l, const IPEndpointI& r) { return static_cast<const ::Ice::LocalObject&>(l) < static_cast<const ::Ice::LocalObject&>(r); } +#endif } diff --git a/cpp/src/Ice/IPEndpointIF.h b/cpp/src/Ice/IPEndpointIF.h index aec4433cfc5..a092235c26e 100644 --- a/cpp/src/Ice/IPEndpointIF.h +++ b/cpp/src/Ice/IPEndpointIF.h @@ -17,13 +17,17 @@ namespace IceInternal { class IPEndpointI; + +#ifdef ICE_CPP11_MAPPING +typedef ::std::shared_ptr<IPEndpointI> IPEndpointIPtr; +#else ICE_API IceUtil::Shared* upCast(IPEndpointI*); typedef Handle<IPEndpointI> IPEndpointIPtr; +#endif class EndpointHostResolver; ICE_API IceUtil::Shared* upCast(EndpointHostResolver*); typedef Handle<EndpointHostResolver> EndpointHostResolverPtr; - } #endif diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp index 5af15c5eae3..a4d58f9e9b7 100644 --- a/cpp/src/Ice/ImplicitContextI.cpp +++ b/cpp/src/Ice/ImplicitContextI.cpp @@ -22,7 +22,7 @@ namespace class SharedImplicitContext : public ImplicitContextI { public: - + virtual Context getContext() const; virtual void setContext(const Context&); @@ -43,7 +43,7 @@ private: class PerThreadImplicitContext : public ImplicitContextI { public: - + PerThreadImplicitContext(); virtual ~PerThreadImplicitContext(); @@ -76,7 +76,7 @@ public: // is assigned a slot in this vector. // typedef std::vector<Slot> SlotVector; - + // // We remember which slot-indices are in use (to be able to reuse indices) // @@ -90,7 +90,7 @@ public: static DWORD _key; #else static pthread_key_t _key; -#endif +#endif private: @@ -107,7 +107,7 @@ extern "C" void iceImplicitContextThreadDestructor(void*); -/*static*/ ImplicitContextI* +ImplicitContextIPtr ImplicitContextI::create(const std::string& kind) { if(kind == "None" || kind == "") @@ -116,14 +116,14 @@ ImplicitContextI::create(const std::string& kind) } else if(kind == "Shared") { - return new SharedImplicitContext; + return ICE_MAKE_SHARED(SharedImplicitContext); } else if(kind == "PerThread") { #ifndef ICE_OS_WINRT - return new PerThreadImplicitContext; + return ICE_MAKE_SHARED(PerThreadImplicitContext); #else - throw InitializationException(__FILE__, __LINE__, + throw InitializationException(__FILE__, __LINE__, "'PerThread' Ice.ImplicitContext isn't supported for WinRT."); return 0; // Keep the compiler happy. #endif @@ -132,7 +132,7 @@ ImplicitContextI::create(const std::string& kind) { throw Ice::InitializationException( __FILE__, __LINE__, - "'" + kind + "' is not a valid value for Ice.ImplicitContext"); + "'" + kind + "' is not a valid value for Ice.ImplicitContext"); return 0; // Keep the compiler happy. } } @@ -144,7 +144,7 @@ ImplicitContextI::cleanupThread() if(PerThreadImplicitContext::_nextId > 0) { iceImplicitContextThreadDestructor(TlsGetValue(PerThreadImplicitContext::_key)); - } + } } #endif @@ -167,7 +167,7 @@ SharedImplicitContext::setContext(const Context& newContext) _context = newContext; } -bool +bool SharedImplicitContext::containsKey(const string& k) const { IceUtil::Mutex::Lock lock(_mutex); @@ -175,7 +175,7 @@ SharedImplicitContext::containsKey(const string& k) const return p != _context.end(); } -string +string SharedImplicitContext::get(const string& k) const { IceUtil::Mutex::Lock lock(_mutex); @@ -188,12 +188,12 @@ SharedImplicitContext::get(const string& k) const } -string +string SharedImplicitContext::put(const string& k, const string& v) { IceUtil::Mutex::Lock lock(_mutex); string& val = _context[k]; - + string oldVal = val; val = v; return oldVal; @@ -216,7 +216,7 @@ SharedImplicitContext::remove(const string& k) } } -void +void SharedImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStream* s) const { IceUtil::Mutex::Lock lock(_mutex); @@ -238,7 +238,7 @@ SharedImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStream } } -void +void SharedImplicitContext::combine(const Context& proxyCtx, Context& ctx) const { IceUtil::Mutex::Lock lock(_mutex); @@ -318,7 +318,7 @@ PerThreadImplicitContext::PerThreadImplicitContext() } # endif } - + // // Now grabs an index // @@ -444,7 +444,7 @@ PerThreadImplicitContext::clearThreadContext() const size_t i = sv->size(); bool clear = true; - while(i != 0) + while(i != 0) { i--; if((*sv)[i].context != 0) @@ -509,7 +509,7 @@ PerThreadImplicitContext::setContext(const Context& newContext) } } -bool +bool PerThreadImplicitContext::containsKey(const string& k) const { const Context* ctx = getThreadContext(false); @@ -521,7 +521,7 @@ PerThreadImplicitContext::containsKey(const string& k) const return p != ctx->end(); } -string +string PerThreadImplicitContext::get(const string& k) const { const Context* ctx = getThreadContext(false); @@ -537,13 +537,13 @@ PerThreadImplicitContext::get(const string& k) const return p->second; } -string +string PerThreadImplicitContext::put(const string& k, const string& v) { Context* ctx = getThreadContext(true); string& val = (*ctx)[k]; - + string oldVal = val; val = v; return oldVal; @@ -557,7 +557,7 @@ PerThreadImplicitContext::remove(const string& k) { return ""; } - + Context::iterator p = ctx->find(k); if(p == ctx->end()) { @@ -576,7 +576,7 @@ PerThreadImplicitContext::remove(const string& k) } } -void +void PerThreadImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStream* s) const { const Context* threadCtx = getThreadContext(false); @@ -597,7 +597,7 @@ PerThreadImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStr } } -void +void PerThreadImplicitContext::combine(const Context& proxyCtx, Context& ctx) const { const Context* threadCtx = getThreadContext(false); diff --git a/cpp/src/Ice/ImplicitContextI.h b/cpp/src/Ice/ImplicitContextI.h index c70885d28c5..3fa3292fb1f 100644 --- a/cpp/src/Ice/ImplicitContextI.h +++ b/cpp/src/Ice/ImplicitContextI.h @@ -18,12 +18,14 @@ namespace Ice // // The base class for all ImplicitContext implementations // +class ImplicitContextI; +ICE_DEFINE_PTR(ImplicitContextIPtr,ImplicitContextI); class ImplicitContextI : public ImplicitContext { public: - - static ImplicitContextI* create(const std::string&); + + static ImplicitContextIPtr create(const std::string&); #ifdef _WIN32 static void cleanupThread(); @@ -45,7 +47,7 @@ public: }; -typedef IceInternal::Handle<ImplicitContextI> ImplicitContextIPtr; +ICE_DEFINE_PTR(ImplicitContextIPtr, ImplicitContextI); } #endif diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp index 8b7e8a33ea4..55071b685c1 100644 --- a/cpp/src/Ice/Incoming.cpp +++ b/cpp/src/Ice/Incoming.cpp @@ -46,7 +46,12 @@ IceInternal::IncomingBase::IncomingBase(Instance* instance, ResponseHandler* res _responseHandler(responseHandler) { _current.adapter = adapter; +#ifdef ICE_CPP11_MAPPING + ::Ice::ConnectionI* conn = dynamic_cast<::Ice::ConnectionI*>(connection); + _current.con = conn ? dynamic_pointer_cast<::Ice::ConnectionI>(conn->shared_from_this()) : nullptr; +#else _current.con = connection; +#endif _current.requestId = requestId; } @@ -179,7 +184,7 @@ IceInternal::IncomingBase::__warning(const Exception& ex) const if(_current.con) { Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); - Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo); + Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo); if(ipConnInfo) { out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort; @@ -200,7 +205,7 @@ IceInternal::IncomingBase::__warning(const string& msg) const if(_current.con) { Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); - Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo); + Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo); if(ipConnInfo) { out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort; @@ -555,7 +560,14 @@ void IceInternal::Incoming::setActive(IncomingAsync& cb) { assert(_cb == 0); - _cb = &cb; // acquires a ref-count + // + // acquires a ref-count + // +#ifdef ICE_CPP11_MAPPING + _cb = cb.shared_from_this(); +#else + _cb = &cb; +#endif } void diff --git a/cpp/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp index b37f83246f3..3b4820cdbbb 100644 --- a/cpp/src/Ice/IncomingAsync.cpp +++ b/cpp/src/Ice/IncomingAsync.cpp @@ -23,8 +23,10 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(IncomingAsync* p) { return p; } IceUtil::Shared* Ice::upCast(AMD_Object_ice_invoke* p) { return p; } +#endif namespace { @@ -54,7 +56,11 @@ Init init; IceInternal::IncomingAsync::IncomingAsync(Incoming& in) : IncomingBase(in), _instanceCopy(_os.instance()), +#ifdef ICE_CPP11_MAPPING + _responseHandlerCopy(dynamic_pointer_cast<ResponseHandler>(_responseHandler->shared_from_this())), +#else _responseHandlerCopy(_responseHandler), +#endif _retriable(in.isRetriable()), _active(true) { @@ -291,6 +297,7 @@ IceInternal::IncomingAsync::__validateResponse(bool ok) return true; } +#ifndef ICE_CPP11_MAPPING IceAsync::Ice::AMD_Object_ice_invoke::AMD_Object_ice_invoke(Incoming& in) : IncomingAsync(in) { @@ -338,3 +345,4 @@ IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const pair<const Byt __response(); } } +#endif diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index bc29df15d75..66d8db8315a 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -27,19 +27,6 @@ using namespace IceInternal; namespace { -pair<const Byte*, const Byte*> -makePair(const vector<Byte>& v) -{ - if(v.empty()) - { - return pair<const Byte*, const Byte*>(static_cast<Byte*>(0), static_cast<Byte*>(0)); - } - else - { - return pair<const Byte*, const Byte*>(&v[0], &v[0] + v.size()); - } -} - IceUtil::Mutex* globalMutex = 0; Ice::LoggerPtr processLogger; @@ -134,13 +121,13 @@ Ice::stringSeqToArgs(const StringSeq& args, int& argc, char* argv[]) PropertiesPtr Ice::createProperties() { - return new PropertiesI(IceUtil::getProcessStringConverter()); + return PropertiesPtr(new PropertiesI(IceUtil::getProcessStringConverter())); } PropertiesPtr Ice::createProperties(StringSeq& args, const PropertiesPtr& defaults) { - return new PropertiesI(args, defaults, IceUtil::getProcessStringConverter()); + return PropertiesPtr(new PropertiesI(args, defaults, IceUtil::getProcessStringConverter())); } PropertiesPtr @@ -154,7 +141,7 @@ Ice::createProperties(int& argc, char* argv[], const PropertiesPtr& defaults) Ice::ThreadHookPlugin::ThreadHookPlugin(const CommunicatorPtr& communicator, const ThreadNotificationPtr& threadHook) { - if(communicator == 0) + if(communicator == ICE_NULLPTR) { throw PluginInitializationException(__FILE__, __LINE__, "Communicator cannot be null"); } @@ -229,18 +216,16 @@ Ice::initialize(int& argc, char* argv[], const InitializationData& initializatio InitializationData initData = initializationData; initData.properties = createProperties(argc, argv, initData.properties); - CommunicatorI* communicatorI = new CommunicatorI(initData); - CommunicatorPtr result = communicatorI; // For exception safety. - communicatorI->finishSetup(argc, argv); - return result; + CommunicatorIPtr communicator = CommunicatorI::create(initData); + communicator->finishSetup(argc, argv); + return communicator; } CommunicatorPtr Ice::initialize(StringSeq& args, const InitializationData& initializationData, Int version) { - CommunicatorPtr communicator; IceUtilInternal::ArgVector av(args); - communicator = initialize(av.argc, av.argv, initializationData, version); + CommunicatorPtr communicator = initialize(av.argc, av.argv, initializationData, version); args = argsToStringSeq(av.argc, av.argv); return communicator; } @@ -254,14 +239,32 @@ Ice::initialize(const InitializationData& initData, Int version) // checkIceVersion(version); - CommunicatorI* communicatorI = new CommunicatorI(initData); - CommunicatorPtr result = communicatorI; // For exception safety. + CommunicatorIPtr communicator = CommunicatorI::create(initData); int argc = 0; char* argv[] = { 0 }; - communicatorI->finishSetup(argc, argv); - return result; + communicator->finishSetup(argc, argv); + return communicator; } +#ifndef ICE_CPP11_MAPPING + +namespace +{ + +pair<const Byte*, const Byte*> +makePair(const vector<Byte>& v) +{ + if(v.empty()) + { + return pair<const Byte*, const Byte*>(static_cast<Byte*>(0), static_cast<Byte*>(0)); + } + else + { + return pair<const Byte*, const Byte*>(&v[0], &v[0] + v.size()); + } +} + +} InputStreamPtr Ice::createInputStream(const CommunicatorPtr& communicator, const vector<Byte>& bytes) { @@ -323,18 +326,19 @@ Ice::createOutputStream(const CommunicatorPtr& communicator, const EncodingVersi { return new OutputStreamI(communicator, v); } +#endif LoggerPtr Ice::getProcessLogger() { IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex); - if(processLogger == 0) + if(processLogger == ICE_NULLPTR) { // // TODO: Would be nice to be able to use process name as prefix by default. // - processLogger = new Ice::LoggerI("", "", true, IceUtil::getProcessStringConverter()); + processLogger = ICE_MAKE_SHARED(Ice::LoggerI, "", "", true, IceUtil::getProcessStringConverter()); } return processLogger; } @@ -356,7 +360,7 @@ Ice::registerPluginFactory(const std::string& name, PLUGIN_FACTORY factory, bool InstancePtr IceInternal::getInstance(const CommunicatorPtr& communicator) { - CommunicatorI* p = dynamic_cast<CommunicatorI*>(communicator.get()); + CommunicatorIPtr p = ICE_DYNAMIC_CAST(::Ice::CommunicatorI, communicator); assert(p); return p->_instance; } @@ -364,12 +368,12 @@ IceInternal::getInstance(const CommunicatorPtr& communicator) IceUtil::TimerPtr IceInternal::getInstanceTimer(const CommunicatorPtr& communicator) { - CommunicatorI* p = dynamic_cast<CommunicatorI*>(communicator.get()); + CommunicatorIPtr p = ICE_DYNAMIC_CAST(::Ice::CommunicatorI, communicator); assert(p); return p->_instance->timer(); } -#ifdef ICE_CPP11 +#ifdef ICE_CPP11_COMPILER Ice::DispatcherPtr Ice::newDispatcher(const ::std::function<void (const DispatcherCallPtr&, const ConnectionPtr)>& cb) { @@ -393,9 +397,7 @@ Ice::newDispatcher(const ::std::function<void (const DispatcherCallPtr&, const C return new Cpp11Dispatcher(cb); } -#endif -#ifdef ICE_CPP11 Ice::BatchRequestInterceptorPtr Ice::newBatchRequestInterceptor(const ::std::function<void (const BatchRequest&, int, int)>& cb) { @@ -417,6 +419,6 @@ Ice::newBatchRequestInterceptor(const ::std::function<void (const BatchRequest&, const ::std::function<void (const BatchRequest&, int, int)> _cb; }; - return new Cpp11BatchRequestInterceptor(cb); + return ICE_MAKE_SHARED(Cpp11BatchRequestInterceptor, cb); } #endif diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index 4b3590c01de..f3f8e2d768d 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -691,7 +691,7 @@ IceInternal::Instance::identityToString(const Identity& ident) const } } -Ice::ObjectPrx +Ice::ObjectPrxPtr IceInternal::Instance::createAdmin(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity) { ObjectAdapterPtr adapter = adminAdapter; @@ -759,7 +759,7 @@ IceInternal::Instance::createAdmin(const ObjectAdapterPtr& adminAdapter, const I return adapter->createProxy(adminIdentity); } -Ice::ObjectPrx +Ice::ObjectPrxPtr IceInternal::Instance::getAdmin() { Lock sync(*this); @@ -850,12 +850,12 @@ IceInternal::Instance::addAllAdminFacets() void IceInternal::Instance::setServerProcessProxy(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity) { - ObjectPrx admin = adminAdapter->createProxy(adminIdentity); - LocatorPrx locator = adminAdapter->getLocator(); + ObjectPrxPtr admin = adminAdapter->createProxy(adminIdentity); + LocatorPrxPtr locator = adminAdapter->getLocator(); const string serverId = _initData.properties->getProperty("Ice.Admin.ServerId"); if(locator && serverId != "") { - ProcessPrx process = ProcessPrx::uncheckedCast(admin->ice_facet("Process")); + ProcessPrxPtr process = ICE_UNCHECKED_CAST(ProcessPrx, admin->ice_facet("Process")); try { // @@ -1009,7 +1009,7 @@ IceInternal::Instance::findAllAdminFacets() } void -IceInternal::Instance::setDefaultLocator(const Ice::LocatorPrx& defaultLocator) +IceInternal::Instance::setDefaultLocator(const Ice::LocatorPrxPtr& defaultLocator) { Lock sync(*this); @@ -1022,7 +1022,7 @@ IceInternal::Instance::setDefaultLocator(const Ice::LocatorPrx& defaultLocator) } void -IceInternal::Instance::setDefaultRouter(const Ice::RouterPrx& defaultRouter) +IceInternal::Instance::setDefaultRouter(const Ice::RouterPrxPtr& defaultRouter) { Lock sync(*this); @@ -1222,23 +1222,23 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi throw InitializationException(__FILE__, __LINE__, "Both syslog and file logger cannot be enabled."); } - _initData.logger = - new SysLoggerI(_initData.properties->getProperty("Ice.ProgramName"), - _initData.properties->getPropertyWithDefault("Ice.SyslogFacility", "LOG_USER")); + _initData.logger = ICE_MAKE_SHARED(SysLoggerI, + _initData.properties->getProperty("Ice.ProgramName"), + _initData.properties->getPropertyWithDefault("Ice.SyslogFacility", "LOG_USER")); } else #endif if(!logfile.empty()) { - _initData.logger = new LoggerI(_initData.properties->getProperty("Ice.ProgramName"), logfile); + _initData.logger = ICE_MAKE_SHARED(LoggerI, _initData.properties->getProperty("Ice.ProgramName"), logfile); } else { _initData.logger = getProcessLogger(); - if(LoggerIPtr::dynamicCast(_initData.logger)) + if(ICE_DYNAMIC_CAST(Logger, _initData.logger)) { - _initData.logger = new LoggerI(_initData.properties->getProperty("Ice.ProgramName"), "", - logStdErrConvert, _stringConverter); + _initData.logger = ICE_MAKE_SHARED(LoggerI, _initData.properties->getProperty("Ice.ProgramName"), "", + logStdErrConvert, _stringConverter); } } } @@ -1347,13 +1347,13 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi _dynamicLibraryList = new DynamicLibraryList; - _pluginManager = new PluginManagerI(communicator, _dynamicLibraryList); + _pluginManager = ICE_MAKE_SHARED(PluginManagerI, communicator, _dynamicLibraryList); _outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this); _servantFactoryManager = new ObjectFactoryManager(); - _objectAdapterFactory = new ObjectAdapterFactory(this, communicator); + _objectAdapterFactory = ICE_MAKE_SHARED(ObjectAdapterFactory, this, communicator); _retryQueue = new RetryQueue(this); @@ -1494,7 +1494,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica const string processFacetName = "Process"; if(_adminFacetFilter.empty() || _adminFacetFilter.find(processFacetName) != _adminFacetFilter.end()) { - _adminFacets.insert(make_pair(processFacetName, new ProcessI(communicator))); + _adminFacets.insert(make_pair(processFacetName, ICE_MAKE_SHARED(ProcessI, communicator))); } // @@ -1515,7 +1515,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica PropertiesAdminIPtr propsAdmin; if(_adminFacetFilter.empty() || _adminFacetFilter.find(propertiesFacetName) != _adminFacetFilter.end()) { - propsAdmin = new PropertiesAdminI(_initData.properties, _initData.logger); + propsAdmin = ICE_MAKE_SHARED(PropertiesAdminI, _initData.properties, _initData.logger); _adminFacets.insert(make_pair(propertiesFacetName, propsAdmin)); } @@ -1525,7 +1525,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica const string metricsFacetName = "Metrics"; if(_adminFacetFilter.empty() || _adminFacetFilter.find(metricsFacetName) != _adminFacetFilter.end()) { - CommunicatorObserverIPtr observer = new CommunicatorObserverI(_initData); + CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI, _initData); _initData.observer = observer; _adminFacets.insert(make_pair(metricsFacetName, observer->getFacet())); @@ -1544,7 +1544,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica // if(_initData.observer) { - _initData.observer->setObserverUpdater(new ObserverUpdaterI(this)); + _initData.observer->setObserverUpdater(ICE_MAKE_SHARED(ObserverUpdaterI, this)); } // @@ -1589,7 +1589,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica // if(!_referenceFactory->getDefaultRouter()) { - RouterPrx router = RouterPrx::uncheckedCast(_proxyFactory->propertyToProxy("Ice.Default.Router")); + RouterPrxPtr router = ICE_UNCHECKED_CAST(RouterPrx, _proxyFactory->propertyToProxy("Ice.Default.Router")); if(router) { _referenceFactory = _referenceFactory->setDefaultRouter(router); @@ -1598,7 +1598,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica if(!_referenceFactory->getDefaultLocator()) { - LocatorPrx locator = LocatorPrx::uncheckedCast(_proxyFactory->propertyToProxy("Ice.Default.Locator")); + LocatorPrxPtr locator = ICE_UNCHECKED_CAST(LocatorPrx, _proxyFactory->propertyToProxy("Ice.Default.Locator")); if(locator) { _referenceFactory = _referenceFactory->setDefaultLocator(locator); @@ -1715,7 +1715,7 @@ IceInternal::Instance::destroy() if(_initData.observer) { - CommunicatorObserverIPtr observer = CommunicatorObserverIPtr::dynamicCast(_initData.observer); + CommunicatorObserverIPtr observer = ICE_DYNAMIC_CAST(CommunicatorObserverI, _initData.observer); if(observer) { observer->destroy(); // Break cyclic reference counts. Don't clear _observer, it's immutable. @@ -1723,7 +1723,7 @@ IceInternal::Instance::destroy() _initData.observer->setObserverUpdater(0); // Break cyclic reference count. } - LoggerAdminLoggerPtr logger = LoggerAdminLoggerPtr::dynamicCast(_initData.logger); + LoggerAdminLoggerPtr logger = ICE_DYNAMIC_CAST(LoggerAdminLogger, _initData.logger); if(logger) { // diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h index a6e9182b136..32685e2e9b5 100644 --- a/cpp/src/Ice/Instance.h +++ b/cpp/src/Ice/Instance.h @@ -58,7 +58,7 @@ class Timer; typedef IceUtil::Handle<Timer> TimerPtr; class MetricsAdminI; -typedef IceUtil::Handle<MetricsAdminI> MetricsAdminIPtr; +ICE_DEFINE_PTR(MetricsAdminIPtr, MetricsAdminI); class RequestHandlerFactory; typedef IceUtil::Handle<RequestHandlerFactory> RequestHandlerFactoryPtr; @@ -116,8 +116,8 @@ public: Ice::Identity stringToIdentity(const std::string&) const; std::string identityToString(const Ice::Identity&) const; - Ice::ObjectPrx createAdmin(const Ice::ObjectAdapterPtr&, const Ice::Identity&); - Ice::ObjectPrx getAdmin(); + Ice::ObjectPrxPtr createAdmin(const Ice::ObjectAdapterPtr&, const Ice::Identity&); + Ice::ObjectPrxPtr getAdmin(); void addAdminFacet(const Ice::ObjectPtr&, const std::string&); Ice::ObjectPtr removeAdminFacet(const std::string&); Ice::ObjectPtr findAdminFacet(const std::string&); @@ -128,8 +128,8 @@ public: return _implicitContext; } - void setDefaultLocator(const Ice::LocatorPrx&); - void setDefaultRouter(const Ice::RouterPrx&); + void setDefaultLocator(const Ice::LocatorPrxPtr&); + void setDefaultRouter(const Ice::RouterPrxPtr&); void setLogger(const Ice::LoggerPtr&); void setThreadHook(const Ice::ThreadNotificationPtr&); diff --git a/cpp/src/Ice/InstrumentationI.cpp b/cpp/src/Ice/InstrumentationI.cpp index 60d17e89b21..f5ddd6e6fb4 100644 --- a/cpp/src/Ice/InstrumentationI.cpp +++ b/cpp/src/Ice/InstrumentationI.cpp @@ -22,7 +22,7 @@ using namespace IceInternal; using namespace Ice::Instrumentation; using namespace IceMX; -namespace +namespace { Context emptyCtx; @@ -44,14 +44,14 @@ getThreadStateMetric(ThreadState s) assert(false); return 0; } -} +} -struct ThreadStateChanged +struct ThreadStateChanged { ThreadStateChanged(ThreadState oldState, ThreadState newState) : oldState(oldState), newState(newState) { } - + void operator()(const ThreadMetricsPtr& v) { if(oldState != ThreadStateIdle) @@ -75,7 +75,7 @@ public: class Attributes : public AttributeResolverT<ConnectionHelper> { public: - + Attributes() { add("parent", &ConnectionHelper::getParent); @@ -85,8 +85,8 @@ public: } }; static Attributes attributes; - - ConnectionHelper(const ConnectionInfoPtr& con, const EndpointPtr& endpt, ConnectionState state) : + + ConnectionHelper(const ConnectionInfoPtr& con, const EndpointPtr& endpt, ConnectionState state) : _connectionInfo(con), _endpoint(endpt), _state(state) { } @@ -102,7 +102,7 @@ public: if(_id.empty()) { ostringstream os; - IPConnectionInfoPtr info = IPConnectionInfoPtr::dynamicCast(_connectionInfo); + IPConnectionInfoPtr info = ICE_DYNAMIC_CAST(IPConnectionInfo, _connectionInfo); if(info) { os << info->localAddress << ':' << info->localPort; @@ -142,8 +142,8 @@ public: return ""; } } - - string + + string getParent() const { if(!_connectionInfo->adapterName.empty()) @@ -155,7 +155,7 @@ public: return "Communicator"; } } - + const ConnectionInfoPtr& getConnectionInfo() const { @@ -177,7 +177,7 @@ public: } return _endpointInfo; } - + private: const ConnectionInfoPtr& _connectionInfo; @@ -196,7 +196,7 @@ public: class Attributes : public AttributeResolverT<DispatchHelper> { public: - + Attributes() { add("parent", &DispatchHelper::getParent); @@ -215,7 +215,7 @@ public: } }; static Attributes attributes; - + DispatchHelper(const Current& current, int size) : _current(current), _size(size) { } @@ -265,7 +265,7 @@ public: return _id; } - string + string getParent() const { return _current.adapter->getName(); @@ -336,7 +336,7 @@ public: class Attributes : public AttributeResolverT<InvocationHelper> { public: - + Attributes() { add("parent", &InvocationHelper::getParent); @@ -353,8 +353,8 @@ public: } }; static Attributes attributes; - - InvocationHelper(const ObjectPrx& proxy, const string& op, const Context& ctx = emptyCtx) : + + InvocationHelper(const ObjectPrxPtr& proxy, const string& op, const Context& ctx = emptyCtx) : _proxy(proxy), _operation(op), _context(ctx) { } @@ -388,23 +388,23 @@ public: if(_proxy->ice_isTwoway()) { return "twoway"; - } + } else if(_proxy->ice_isOneway()) { return "oneway"; - } + } else if(_proxy->ice_isBatchOneway()) { return "batch-oneway"; - } + } else if(_proxy->ice_isDatagram()) { return "datagram"; - } + } else if(_proxy->ice_isBatchDatagram()) { return "batch-datagram"; - } + } else { throw invalid_argument("mode"); @@ -439,13 +439,13 @@ public: return _id; } - string + string getParent() const { return "Communicator"; } - const ObjectPrx& + const ObjectPrxPtr& getProxy() const { return _proxy; @@ -473,7 +473,7 @@ public: private: - const ObjectPrx& _proxy; + const ObjectPrxPtr& _proxy; const string& _operation; const Context& _context; mutable string _id; @@ -488,7 +488,7 @@ public: class Attributes : public AttributeResolverT<RemoteInvocationHelper> { public: - + Attributes() { add("parent", &RemoteInvocationHelper::getParent); @@ -498,8 +498,8 @@ public: } }; static Attributes attributes; - - RemoteInvocationHelper(const ConnectionInfoPtr& con, const EndpointPtr& endpt, int requestId, int size) : + + RemoteInvocationHelper(const ConnectionInfoPtr& con, const EndpointPtr& endpt, int requestId, int size) : _connectionInfo(con), _endpoint(endpt), _requestId(requestId), _size(size) { } @@ -527,8 +527,8 @@ public: } return _id; } - - string + + string getParent() const { if(!_connectionInfo->adapterName.empty()) @@ -540,7 +540,7 @@ public: return "Communicator"; } } - + const ConnectionInfoPtr& getConnectionInfo() const { @@ -590,7 +590,7 @@ public: class Attributes : public AttributeResolverT<CollocatedInvocationHelper> { public: - + Attributes() { add("parent", &CollocatedInvocationHelper::getParent); @@ -599,8 +599,8 @@ public: } }; static Attributes attributes; - - CollocatedInvocationHelper(const Ice::ObjectAdapterPtr& adapter, int requestId, int size) : + + CollocatedInvocationHelper(const Ice::ObjectAdapterPtr& adapter, int requestId, int size) : _requestId(requestId), _size(size), _id(adapter->getName()) { } @@ -620,8 +620,8 @@ public: { return _id; } - - string + + string getParent() const { return "Communicator"; @@ -649,7 +649,7 @@ public: class Attributes : public AttributeResolverT<ThreadHelper> { public: - + Attributes() { add("parent", &ThreadHelper::_parent); @@ -657,7 +657,7 @@ public: } }; static Attributes attributes; - + ThreadHelper(const string& parent, const string& id, ThreadState state) : _parent(parent), _id(id), _state(state) { } @@ -676,7 +676,7 @@ public: } private: - + const string _parent; const string _id; const ThreadState _state; @@ -691,7 +691,7 @@ public: class Attributes : public AttributeResolverT<EndpointHelper> { public: - + Attributes() { add("parent", &EndpointHelper::getParent); @@ -700,7 +700,7 @@ public: } }; static Attributes attributes; - + EndpointHelper(const EndpointPtr& endpt, const string& id) : _endpoint(endpt), _id(id) { } @@ -747,7 +747,7 @@ public: } private: - + const EndpointPtr _endpoint; mutable string _id; mutable EndpointInfoPtr _endpointInfo; @@ -757,7 +757,7 @@ EndpointHelper::Attributes EndpointHelper::attributes; } -void +void ConnectionObserverI::sentBytes(Int num) { forEach(add(&ConnectionMetrics::sentBytes, num)); @@ -767,7 +767,7 @@ ConnectionObserverI::sentBytes(Int num) } } -void +void ConnectionObserverI::receivedBytes(Int num) { forEach(add(&ConnectionMetrics::receivedBytes, num)); @@ -849,8 +849,8 @@ InvocationObserverI::userException() } RemoteObserverPtr -InvocationObserverI::getRemoteObserver(const ConnectionInfoPtr& connection, - const EndpointPtr& endpoint, +InvocationObserverI::getRemoteObserver(const ConnectionInfoPtr& connection, + const EndpointPtr& endpoint, int requestId, int size) { @@ -861,7 +861,7 @@ InvocationObserverI::getRemoteObserver(const ConnectionInfoPtr& connection, { delegate = _delegate->getRemoteObserver(connection, endpoint, requestId, size); } - return getObserverWithDelegate<RemoteObserverI>("Remote", + return getObserverWithDelegate<RemoteObserverI>("Remote", RemoteInvocationHelper(connection, endpoint, requestId, size), delegate); } @@ -891,7 +891,7 @@ InvocationObserverI::getCollocatedObserver(const Ice::ObjectAdapterPtr& adapter, return 0; } -CommunicatorObserverI::CommunicatorObserverI(const InitializationData& initData) : +CommunicatorObserverI::CommunicatorObserverI(const InitializationData& initData) : _metrics(new MetricsAdminI(initData.properties, initData.logger)), _delegate(initData.observer), _connections(_metrics, "Connection"), @@ -962,10 +962,10 @@ CommunicatorObserverI::getEndpointLookupObserver(const EndpointPtr& endpt) return 0; } -ConnectionObserverPtr -CommunicatorObserverI::getConnectionObserver(const ConnectionInfoPtr& con, +ConnectionObserverPtr +CommunicatorObserverI::getConnectionObserver(const ConnectionInfoPtr& con, const EndpointPtr& endpt, - ConnectionState state, + ConnectionState state, const ConnectionObserverPtr& observer) { if(_connections.isEnabled()) @@ -989,8 +989,8 @@ CommunicatorObserverI::getConnectionObserver(const ConnectionInfoPtr& con, return 0; } -ThreadObserverPtr -CommunicatorObserverI::getThreadObserver(const string& parent, +ThreadObserverPtr +CommunicatorObserverI::getThreadObserver(const string& parent, const string& id, ThreadState state, const ThreadObserverPtr& observer) @@ -1016,8 +1016,8 @@ CommunicatorObserverI::getThreadObserver(const string& parent, return 0; } -InvocationObserverPtr -CommunicatorObserverI::getInvocationObserver(const ObjectPrx& proxy, const string& op, const Context& ctx) +InvocationObserverPtr +CommunicatorObserverI::getInvocationObserver(const ObjectPrxPtr& proxy, const string& op, const Context& ctx) { if(_invocations.isEnabled()) { @@ -1039,7 +1039,7 @@ CommunicatorObserverI::getInvocationObserver(const ObjectPrx& proxy, const strin return 0; } -DispatchObserverPtr +DispatchObserverPtr CommunicatorObserverI::getDispatchObserver(const Current& current, int size) { if(_dispatch.isEnabled()) @@ -1062,7 +1062,7 @@ CommunicatorObserverI::getDispatchObserver(const Current& current, int size) return 0; } -const IceInternal::MetricsAdminIPtr& +const IceInternal::MetricsAdminIPtr& CommunicatorObserverI::getFacet() const { assert(_metrics); diff --git a/cpp/src/Ice/InstrumentationI.h b/cpp/src/Ice/InstrumentationI.h index 53994591414..7ae26d19b2b 100644 --- a/cpp/src/Ice/InstrumentationI.h +++ b/cpp/src/Ice/InstrumentationI.h @@ -21,9 +21,8 @@ template<typename T, typename O> class ObserverWithDelegateT : public IceMX::Obs public: typedef O ObserverType; - typedef typename IceInternal::Handle<O> ObserverPtrType; - - virtual void + typedef typename ICE_INTERNAL_HANDLE<O> ObserverPtrType; + virtual void attach() { IceMX::ObserverT<T>::attach(); @@ -33,7 +32,7 @@ public: } } - virtual void + virtual void detach() { IceMX::ObserverT<T>::detach(); @@ -65,11 +64,11 @@ public: _delegate = delegate; } - template<typename ObserverImpl, typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType - getObserverWithDelegate(const std::string& mapName, const IceMX::MetricsHelperT<ObserverMetricsType>& helper, + template<typename ObserverImpl, typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType + getObserverWithDelegate(const std::string& mapName, const IceMX::MetricsHelperT<ObserverMetricsType>& helper, const ObserverPtrType& del) { - IceInternal::Handle<ObserverImpl> obsv = IceMX::ObserverT<T>::template getObserver<ObserverImpl>(mapName, + ICE_INTERNAL_HANDLE<ObserverImpl> obsv = IceMX::ObserverT<T>::template getObserver<ObserverImpl>(mapName, helper); if(obsv) { @@ -88,15 +87,15 @@ template<typename T> class ObserverFactoryWithDelegateT : public IceMX::Observer { public: - ObserverFactoryWithDelegateT(const IceInternal::MetricsAdminIPtr& metrics, const std::string& name) : + ObserverFactoryWithDelegateT(const IceInternal::MetricsAdminIPtr& metrics, const std::string& name) : IceMX::ObserverFactoryT<T>(metrics, name) { } - template<typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType + template<typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType getObserverWithDelegate(const IceMX::MetricsHelperT<ObserverMetricsType>& helper, const ObserverPtrType& del) { - IceInternal::Handle<T> obsv = IceMX::ObserverFactoryT<T>::getObserver(helper); + ICE_INTERNAL_HANDLE<T> obsv = IceMX::ObserverFactoryT<T>::getObserver(helper); if(obsv) { obsv->setDelegate(del); @@ -105,11 +104,11 @@ public: return del; } - template<typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType - getObserverWithDelegate(const IceMX::MetricsHelperT<ObserverMetricsType>& helper, const ObserverPtrType& del, + template<typename ObserverMetricsType, typename ObserverPtrType> ObserverPtrType + getObserverWithDelegate(const IceMX::MetricsHelperT<ObserverMetricsType>& helper, const ObserverPtrType& del, const ObserverPtrType& old) { - IceInternal::Handle<T> obsv = IceMX::ObserverFactoryT<T>::getObserver(helper, old); + ICE_INTERNAL_HANDLE<T> obsv = IceMX::ObserverFactoryT<T>::getObserver(helper, old); if(obsv) { obsv->setDelegate(del); @@ -129,7 +128,7 @@ void addEndpointAttributes(typename Helper::Attributes& attrs) attrs.add("endpointIsSecure", &Helper::getEndpointInfo, &Ice::EndpointInfo::secure); attrs.add("endpointTimeout", &Helper::getEndpointInfo, &Ice::EndpointInfo::timeout); attrs.add("endpointCompress", &Helper::getEndpointInfo, &Ice::EndpointInfo::compress); - + attrs.add("endpointHost", &Helper::getEndpointInfo, &Ice::IPEndpointInfo::host); attrs.add("endpointPort", &Helper::getEndpointInfo, &Ice::IPEndpointInfo::port); } @@ -140,19 +139,19 @@ void addConnectionAttributes(typename Helper::Attributes& attrs) attrs.add("incoming", &Helper::getConnectionInfo, &Ice::ConnectionInfo::incoming); attrs.add("adapterName", &Helper::getConnectionInfo, &Ice::ConnectionInfo::adapterName); attrs.add("connectionId", &Helper::getConnectionInfo, &Ice::ConnectionInfo::connectionId); - + attrs.add("localHost", &Helper::getConnectionInfo, &Ice::IPConnectionInfo::localAddress); attrs.add("localPort", &Helper::getConnectionInfo, &Ice::IPConnectionInfo::localPort); attrs.add("remoteHost", &Helper::getConnectionInfo, &Ice::IPConnectionInfo::remoteAddress); attrs.add("remotePort", &Helper::getConnectionInfo, &Ice::IPConnectionInfo::remotePort); - + attrs.add("mcastHost", &Helper::getConnectionInfo, &Ice::UDPConnectionInfo::mcastAddress); attrs.add("mcastPort", &Helper::getConnectionInfo, &Ice::UDPConnectionInfo::mcastPort); - + addEndpointAttributes<Helper>(attrs); } -class ConnectionObserverI : public ObserverWithDelegateT<IceMX::ConnectionMetrics, +class ConnectionObserverI : public ObserverWithDelegateT<IceMX::ConnectionMetrics, Ice::Instrumentation::ConnectionObserver> { public: @@ -184,7 +183,7 @@ public: virtual void reply(Ice::Int); }; -class CollocatedObserverI : public ObserverWithDelegateT<IceMX::CollocatedMetrics, +class CollocatedObserverI : public ObserverWithDelegateT<IceMX::CollocatedMetrics, Ice::Instrumentation::CollocatedObserver> { public: @@ -192,7 +191,7 @@ public: virtual void reply(Ice::Int); }; -class InvocationObserverI : public ObserverWithDelegateT<IceMX::InvocationMetrics, +class InvocationObserverI : public ObserverWithDelegateT<IceMX::InvocationMetrics, Ice::Instrumentation::InvocationObserver> { public: @@ -201,7 +200,7 @@ public: virtual void userException(); - virtual Ice::Instrumentation::RemoteObserverPtr + virtual Ice::Instrumentation::RemoteObserverPtr getRemoteObserver(const Ice::ConnectionInfoPtr&, const Ice::EndpointPtr&, Ice::Int, Ice::Int); virtual Ice::Instrumentation::CollocatedObserverPtr @@ -217,23 +216,23 @@ public: CommunicatorObserverI(const Ice::InitializationData&); virtual void setObserverUpdater(const Ice::Instrumentation::ObserverUpdaterPtr&); - + virtual Ice::Instrumentation::ObserverPtr getConnectionEstablishmentObserver(const Ice::EndpointPtr&, const std::string&); - + virtual Ice::Instrumentation::ObserverPtr getEndpointLookupObserver(const Ice::EndpointPtr&); - - virtual Ice::Instrumentation::ConnectionObserverPtr - getConnectionObserver(const Ice::ConnectionInfoPtr&, + + virtual Ice::Instrumentation::ConnectionObserverPtr + getConnectionObserver(const Ice::ConnectionInfoPtr&, const Ice::EndpointPtr&, - Ice::Instrumentation::ConnectionState, + Ice::Instrumentation::ConnectionState, const Ice::Instrumentation::ConnectionObserverPtr&); virtual Ice::Instrumentation::ThreadObserverPtr getThreadObserver(const std::string&, const std::string&, Ice::Instrumentation::ThreadState, const Ice::Instrumentation::ThreadObserverPtr&); - virtual Ice::Instrumentation::InvocationObserverPtr getInvocationObserver(const Ice::ObjectPrx&, + virtual Ice::Instrumentation::InvocationObserverPtr getInvocationObserver(const Ice::ObjectPrxPtr&, const std::string&, const Ice::Context&); @@ -255,7 +254,7 @@ private: ObserverFactoryWithDelegateT<ObserverI> _connects; ObserverFactoryWithDelegateT<ObserverI> _endpointLookups; }; -typedef IceUtil::Handle<CommunicatorObserverI> CommunicatorObserverIPtr; +ICE_DEFINE_PTR(CommunicatorObserverIPtr, CommunicatorObserverI); }; diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp index b4ea96998b1..f3477c972cc 100644 --- a/cpp/src/Ice/LocatorInfo.cpp +++ b/cpp/src/Ice/LocatorInfo.cpp @@ -18,6 +18,7 @@ #include <Ice/Reference.h> #include <Ice/Functional.h> #include <Ice/Properties.h> +#include <Ice/Comparable.h> #include <iterator> using namespace std; @@ -44,11 +45,31 @@ public: { try { +#ifdef ICE_CPP11_MAPPING + _locatorInfo->getLocator()->findObjectById_async( + _ref->getIdentity(), + [this](const ObjectPrxPtr& object) + { + this->response(object); + }, + [this](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const UserException& ex) + { + this->exception(ex); + } + }); +#else _locatorInfo->getLocator()->begin_findObjectById( _ref->getIdentity(), newCallback_Locator_findObjectById(static_cast<LocatorInfo::Request*>(this), &LocatorInfo::Request::response, &LocatorInfo::Request::exception)); +#endif } catch(const Ice::Exception& ex) { @@ -70,11 +91,31 @@ public: { try { +#ifdef ICE_CPP11_MAPPING + _locatorInfo->getLocator()->findAdapterById_async( + _ref->getAdapterId(), + [this](const Ice::ObjectPrxPtr& object) + { + this->response(object); + }, + [this](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const UserException& ex) + { + this->exception(ex); + } + }); +#else _locatorInfo->getLocator()->begin_findAdapterById( _ref->getAdapterId(), newCallback_Locator_findAdapterById(static_cast<LocatorInfo::Request*>(this), &LocatorInfo::Request::response, &LocatorInfo::Request::exception)); +#endif } catch(const Ice::Exception& ex) { @@ -96,8 +137,11 @@ IceInternal::LocatorManager::destroy() { IceUtil::Mutex::Lock sync(*this); - for_each(_table.begin(), _table.end(), Ice::secondVoidMemFun<const LocatorPrx, LocatorInfo>(&LocatorInfo::destroy)); - +#ifdef ICE_CPP11_MAPPING + for_each(_table.begin(), _table.end(), [](auto it){ it.second->destroy(); }); +#else + for_each(_table.begin(), _table.end(), Ice::secondVoidMemFun<const LocatorPrxPtr, LocatorInfo>(&LocatorInfo::destroy)); +#endif _table.clear(); _tableHint = _table.end(); @@ -105,14 +149,14 @@ IceInternal::LocatorManager::destroy() } LocatorInfoPtr -IceInternal::LocatorManager::get(const LocatorPrx& loc) +IceInternal::LocatorManager::get(const LocatorPrxPtr& loc) { if(!loc) { return 0; } - LocatorPrx locator = LocatorPrx::uncheckedCast(loc->ice_locator(0)); // The locator can't be located. + LocatorPrxPtr locator = ICE_UNCHECKED_CAST(LocatorPrx, loc->ice_locator(0)); // The locator can't be located. // // TODO: reap unused locator info objects? @@ -120,7 +164,7 @@ IceInternal::LocatorManager::get(const LocatorPrx& loc) IceUtil::Mutex::Lock sync(*this); - map<LocatorPrx, LocatorInfoPtr>::iterator p = _table.end(); + map<LocatorPrxPtr, LocatorInfoPtr>::iterator p = _table.end(); if(_tableHint != _table.end()) { @@ -152,7 +196,7 @@ IceInternal::LocatorManager::get(const LocatorPrx& loc) } _tableHint = _table.insert(_tableHint, - pair<const LocatorPrx, LocatorInfoPtr>(locator, + pair<const LocatorPrxPtr, LocatorInfoPtr>(locator, new LocatorInfo(locator, t->second, _background))); } @@ -301,7 +345,7 @@ IceInternal::LocatorTable::checkTTL(const IceUtil::Time& time, int ttl) const } void -IceInternal::LocatorInfo::RequestCallback::response(const LocatorInfoPtr& locatorInfo, const Ice::ObjectPrx& proxy) +IceInternal::LocatorInfo::RequestCallback::response(const LocatorInfoPtr& locatorInfo, const Ice::ObjectPrxPtr& proxy) { vector<EndpointIPtr> endpoints; if(proxy) @@ -467,7 +511,7 @@ IceInternal::LocatorInfo::Request::Request(const LocatorInfoPtr& locatorInfo, co } void -IceInternal::LocatorInfo::Request::response(const Ice::ObjectPrx& proxy) +IceInternal::LocatorInfo::Request::response(const Ice::ObjectPrxPtr& proxy) { { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor); @@ -497,7 +541,7 @@ IceInternal::LocatorInfo::Request::exception(const Ice::Exception& ex) } } -IceInternal::LocatorInfo::LocatorInfo(const LocatorPrx& locator, const LocatorTablePtr& table, bool background) : +IceInternal::LocatorInfo::LocatorInfo(const LocatorPrxPtr& locator, const LocatorTablePtr& table, bool background) : _locator(locator), _table(table), _background(background) @@ -518,22 +562,34 @@ IceInternal::LocatorInfo::destroy() bool IceInternal::LocatorInfo::operator==(const LocatorInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return Ice::targetEquals(_locator, rhs._locator); +#else return _locator == rhs._locator; +#endif } bool IceInternal::LocatorInfo::operator!=(const LocatorInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return !Ice::targetEquals(_locator, rhs._locator); +#else return _locator != rhs._locator; +#endif } bool IceInternal::LocatorInfo::operator<(const LocatorInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return Ice::targetLess(_locator, rhs._locator); +#else return _locator < rhs._locator; +#endif } -LocatorRegistryPrx +LocatorRegistryPrxPtr IceInternal::LocatorInfo::getLocatorRegistry() { { @@ -547,7 +603,7 @@ IceInternal::LocatorInfo::getLocatorRegistry() // // Do not make locator calls from within sync. // - LocatorRegistryPrx locatorRegistry = _locator->getRegistry(); + LocatorRegistryPrxPtr locatorRegistry = _locator->getRegistry(); if(!locatorRegistry) { return 0; @@ -877,7 +933,7 @@ IceInternal::LocatorInfo::getObjectRequest(const ReferencePtr& ref) void IceInternal::LocatorInfo::finishRequest(const ReferencePtr& ref, const vector<ReferencePtr>& wellKnownRefs, - const Ice::ObjectPrx& proxy, + const Ice::ObjectPrxPtr& proxy, bool notRegistered) { if(!proxy || proxy->__reference()->isIndirect()) diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h index b283a66bb8b..c719eea134d 100644 --- a/cpp/src/Ice/LocatorInfo.h +++ b/cpp/src/Ice/LocatorInfo.h @@ -39,14 +39,14 @@ public: // Returns locator info for a given locator. Automatically creates // the locator info if it doesn't exist yet. // - LocatorInfoPtr get(const Ice::LocatorPrx&); + LocatorInfoPtr get(const Ice::LocatorPrxPtr&); private: const bool _background; - std::map<Ice::LocatorPrx, LocatorInfoPtr> _table; - std::map<Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint; + std::map<Ice::LocatorPrxPtr, LocatorInfoPtr> _table; + std::map<Ice::LocatorPrxPtr, LocatorInfoPtr>::iterator _tableHint; std::map<std::pair<Ice::Identity, Ice::EncodingVersion>, LocatorTablePtr> _locatorTables; }; @@ -94,7 +94,7 @@ public: RequestCallback(const ReferencePtr&, int, const GetEndpointsCallbackPtr&); - void response(const LocatorInfoPtr&, const Ice::ObjectPrx&); + void response(const LocatorInfoPtr&, const Ice::ObjectPrxPtr&); void exception(const LocatorInfoPtr&, const Ice::Exception&); private: @@ -112,7 +112,7 @@ public: void addCallback(const ReferencePtr&, const ReferencePtr&, int, const GetEndpointsCallbackPtr&); std::vector<EndpointIPtr> getEndpoints(const ReferencePtr&, const ReferencePtr&, int, bool&); - void response(const Ice::ObjectPrx&); + void response(const Ice::ObjectPrxPtr&); void exception(const Ice::Exception&); protected: @@ -131,12 +131,12 @@ public: std::vector<ReferencePtr> _wellKnownRefs; bool _sent; bool _response; - Ice::ObjectPrx _proxy; + Ice::ObjectPrxPtr _proxy; IceUtil::UniquePtr<Ice::Exception> _exception; }; typedef IceUtil::Handle<Request> RequestPtr; - LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&, bool); + LocatorInfo(const Ice::LocatorPrxPtr&, const LocatorTablePtr&, bool); void destroy(); @@ -144,14 +144,14 @@ public: bool operator!=(const LocatorInfo&) const; bool operator<(const LocatorInfo&) const; - const Ice::LocatorPrx& getLocator() const + const Ice::LocatorPrxPtr& getLocator() const { // // No mutex lock necessary, _locator is immutable. // return _locator; } - Ice::LocatorRegistryPrx getLocatorRegistry(); + Ice::LocatorRegistryPrxPtr getLocatorRegistry(); std::vector<EndpointIPtr> getEndpoints(const ReferencePtr& ref, int ttl, bool& cached) { @@ -176,12 +176,12 @@ private: RequestPtr getAdapterRequest(const ReferencePtr&); RequestPtr getObjectRequest(const ReferencePtr&); - void finishRequest(const ReferencePtr&, const std::vector<ReferencePtr>&, const Ice::ObjectPrx&, bool); + void finishRequest(const ReferencePtr&, const std::vector<ReferencePtr>&, const Ice::ObjectPrxPtr&, bool); friend class Request; friend class RequestCallback; - const Ice::LocatorPrx _locator; - Ice::LocatorRegistryPrx _locatorRegistry; + const Ice::LocatorPrxPtr _locator; + Ice::LocatorRegistryPrxPtr _locatorRegistry; const LocatorTablePtr _table; const bool _background; diff --git a/cpp/src/Ice/LoggerAdminI.cpp b/cpp/src/Ice/LoggerAdminI.cpp index b48b40be259..64c68dee606 100644 --- a/cpp/src/Ice/LoggerAdminI.cpp +++ b/cpp/src/Ice/LoggerAdminI.cpp @@ -32,19 +32,19 @@ class LoggerAdminI : public Ice::LoggerAdmin public: LoggerAdminI(const PropertiesPtr&); - - virtual void attachRemoteLogger(const RemoteLoggerPrx&, const LogMessageTypeSeq&, + + virtual void attachRemoteLogger(const RemoteLoggerPrxPtr&, const LogMessageTypeSeq&, const StringSeq&, Int, const Current&); - - virtual bool detachRemoteLogger(const RemoteLoggerPrx&, const Current&); - + + virtual bool detachRemoteLogger(const RemoteLoggerPrxPtr&, const Current&); + virtual LogMessageSeq getLog(const LogMessageTypeSeq&, const StringSeq&, Int, string&, const Current&); void destroy(); - vector<RemoteLoggerPrx> log(const LogMessage&); + vector<RemoteLoggerPrxPtr> log(const LogMessage&); - void deadRemoteLogger(const RemoteLoggerPrx&, const LoggerPtr&, const LocalException&, const string&); + void deadRemoteLogger(const RemoteLoggerPrxPtr&, const LoggerPtr&, const LocalException&, const string&); const int getTraceLevel() const { @@ -53,9 +53,11 @@ public: private: - bool removeRemoteLogger(const RemoteLoggerPrx&); - + bool removeRemoteLogger(const RemoteLoggerPrxPtr&); + +#ifndef ICE_CPP11_MAPPING // C++98 mapping begin_init callback void initCompleted(const AsyncResultPtr&); +#endif IceUtil::Mutex _mutex; list<LogMessage> _queue; @@ -70,7 +72,7 @@ private: struct ObjectIdentityCompare { - bool operator()(const RemoteLoggerPrx& lhs, const RemoteLoggerPrx& rhs) const + bool operator()(const RemoteLoggerPrxPtr& lhs, const RemoteLoggerPrxPtr& rhs) const { // // Caller should make sure that proxies are never null @@ -93,7 +95,7 @@ private: const set<string> traceCategories; }; - typedef map<RemoteLoggerPrx, Filters, ObjectIdentityCompare> RemoteLoggerMap; + typedef map<RemoteLoggerPrxPtr, Filters, ObjectIdentityCompare> RemoteLoggerMap; struct GetRemoteLoggerMapKey { @@ -108,29 +110,29 @@ private: CommunicatorPtr _sendLogCommunicator; bool _destroyed; }; -typedef IceUtil::Handle<LoggerAdminI> LoggerAdminIPtr; +ICE_DEFINE_PTR(LoggerAdminIPtr, LoggerAdminI); class Job : public IceUtil::Shared { public: - Job(const vector<RemoteLoggerPrx>& r, const LogMessage& l) : + Job(const vector<RemoteLoggerPrxPtr>& r, const LogMessage& l) : remoteLoggers(r), logMessage(l) { } - const vector<RemoteLoggerPrx> remoteLoggers; + const vector<RemoteLoggerPrxPtr> remoteLoggers; const LogMessage logMessage; }; typedef IceUtil::Handle<Job> JobPtr; -class LoggerAdminLoggerI : public IceInternal::LoggerAdminLogger +class LoggerAdminLoggerI : public ICE_ENABLE_SHARED_FROM_THIS(LoggerAdminLoggerI), public IceInternal::LoggerAdminLogger { public: - + LoggerAdminLoggerI(const PropertiesPtr&, const LoggerPtr&); virtual void print(const std::string&); @@ -141,22 +143,23 @@ public: virtual LoggerPtr cloneWithPrefix(const std::string&); virtual ObjectPtr getFacet() const; - + virtual void destroy(); const LoggerPtr& getLocalLogger() const { return _localLogger; } - + void run(); private: void log(const LogMessage&); - +#ifndef ICE_CPP11_MAPPING // C++98 mapping begin_log callback void logCompleted(const AsyncResultPtr&); - +#endif + LoggerPtr _localLogger; const LoggerAdminIPtr _loggerAdmin; @@ -164,9 +167,9 @@ private: bool _destroyed; IceUtil::ThreadPtr _sendLogThread; - std::deque<JobPtr> _jobQueue; + std::deque<JobPtr> _jobQueue; }; -typedef IceUtil::Handle<LoggerAdminLoggerI> LoggerAdminLoggerIPtr; +ICE_DEFINE_PTR(LoggerAdminLoggerIPtr, LoggerAdminLoggerI); class SendLogThread : public IceUtil::Thread @@ -195,7 +198,7 @@ filterLogMessages(LogMessageSeq& logMessages, const set<LogMessageType>& message const set<string>& traceCategories, Int messageMax) { assert(!logMessages.empty() && messageMax != 0); - + // // Filter only if one of the 3 filters is set; messageMax < 0 means "give me all" // that match the other filters, if any. @@ -209,7 +212,7 @@ filterLogMessages(LogMessageSeq& logMessages, const set<LogMessageType>& message bool keepIt = false; if(messageTypes.empty() || messageTypes.count(p->type) != 0) { - if(p->type != TraceMessage || traceCategories.empty() || + if(p->type != ICE_ENUM(LogMessageType, TraceMessage) || traceCategories.empty() || traceCategories.count(p->traceCategory) != 0) { keepIt = true; @@ -246,15 +249,15 @@ filterLogMessages(LogMessageSeq& logMessages, const set<LogMessageType>& message // // Change this proxy's communicator, while keeping its invocation timeout // -RemoteLoggerPrx -changeCommunicator(const RemoteLoggerPrx& prx, const CommunicatorPtr& communicator) +RemoteLoggerPrxPtr +changeCommunicator(const RemoteLoggerPrxPtr& prx, const CommunicatorPtr& communicator) { if(prx == 0) { return 0; } - RemoteLoggerPrx result = RemoteLoggerPrx::uncheckedCast(communicator->stringToProxy(prx->ice_toString())); + RemoteLoggerPrxPtr result = ICE_UNCHECKED_CAST(RemoteLoggerPrx, communicator->stringToProxy(prx->ice_toString())); return result->ice_invocationTimeout(prx->ice_getInvocationTimeout()); } @@ -312,7 +315,7 @@ LoggerAdminI::LoggerAdminI(const PropertiesPtr& props) : _logCount(0), _maxLogCount(props->getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepLogs", 100)), _traceCount(0), - _maxTraceCount(props->getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepTraces", 100)), + _maxTraceCount(props->getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepTraces", 100)), _traceLevel(props->getPropertyAsInt("Ice.Trace.Admin.Logger")), _destroyed(false) { @@ -321,7 +324,7 @@ LoggerAdminI::LoggerAdminI(const PropertiesPtr& props) : } void -LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx, +LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrxPtr& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& categories, Int messageMax, @@ -331,13 +334,13 @@ LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx, { return; // can't send this null RemoteLogger anything! } - + // // In C++, LoggerAdminI does not keep a "logger" data member to avoid a hard-to-break circular // reference, so we retrieve the logger from Current // - - LoggerAdminLoggerIPtr logger = LoggerAdminLoggerIPtr::dynamicCast(current.adapter->getCommunicator()->getLogger()); + + LoggerAdminLoggerIPtr logger = ICE_DYNAMIC_CAST(LoggerAdminLoggerI, current.adapter->getCommunicator()->getLogger()); if(!logger) { // Our logger is not installed - must be a bug @@ -345,7 +348,7 @@ LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx, return; } - RemoteLoggerPrx remoteLogger = prx->ice_twoway(); + RemoteLoggerPrxPtr remoteLogger = prx->ice_twoway(); Filters filters(messageTypes, categories); LogMessageSeq initLogMessages; @@ -391,8 +394,37 @@ LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx, filterLogMessages(initLogMessages, filters.messageTypes, filters.traceCategories, messageMax); } +#ifdef ICE_CPP11_MAPPING + try + { + remoteLogger->init_async(logger->getPrefix(), initLogMessages, + [this, logger, remoteLogger]() + { + if(this->_traceLevel > 1) + { + Trace trace(logger, traceCategory); + trace << "init on `" << remoteLogger << "' completed successfully"; + } + }, + [this, logger, remoteLogger](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const Ice::LocalException& e) + { + this->deadRemoteLogger(remoteLogger, logger, e, "init"); + } + }); + } + catch(const LocalException& ex) + { + deadRemoteLogger(remoteLogger, logger, ex, "init"); + throw; + } +#else CallbackPtr initCompletedCb = newCallback(this, &LoggerAdminI::initCompleted); - try { remoteLogger->begin_init(logger->getPrefix(), initLogMessages, initCompletedCb, logger); @@ -402,10 +434,11 @@ LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx, deadRemoteLogger(remoteLogger, logger, ex, "init"); throw; } +#endif } bool -LoggerAdminI::detachRemoteLogger(const RemoteLoggerPrx& remoteLogger, const Current& current) +LoggerAdminI::detachRemoteLogger(const RemoteLoggerPrxPtr& remoteLogger, const Current& current) { if(remoteLogger == 0) { @@ -429,11 +462,11 @@ LoggerAdminI::detachRemoteLogger(const RemoteLoggerPrx& remoteLogger, const Curr trace << "cannot detach `" << remoteLogger << "': not found"; } } - + return found; } -LogMessageSeq +LogMessageSeq LoggerAdminI::getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& categories, Int messageMax, string& prefix, const Current& current) { @@ -449,13 +482,13 @@ LoggerAdminI::getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& cat LoggerPtr logger = current.adapter->getCommunicator()->getLogger(); prefix = logger->getPrefix(); - + if(!logMessages.empty()) { Filters filters(messageTypes, categories); filterLogMessages(logMessages, filters.messageTypes, filters.traceCategories, messageMax); } - + return logMessages; } @@ -467,14 +500,14 @@ LoggerAdminI::destroy() IceUtil::Mutex::Lock lock(_mutex); if(!_destroyed) { - _destroyed = true; + _destroyed = true; sendLogCommunicator = _sendLogCommunicator; _sendLogCommunicator = 0; } } - + // - // Destroy outside lock to avoid deadlock when there are outstanding two-way log calls sent to + // Destroy outside lock to avoid deadlock when there are outstanding two-way log calls sent to // remote logggers // if(sendLogCommunicator) @@ -483,22 +516,22 @@ LoggerAdminI::destroy() } } -vector<RemoteLoggerPrx> +vector<RemoteLoggerPrxPtr> LoggerAdminI::log(const LogMessage& logMessage) { - vector<RemoteLoggerPrx> remoteLoggers; + vector<RemoteLoggerPrxPtr> remoteLoggers; IceUtil::Mutex::Lock lock(_mutex); // // Put message in _queue // - if((logMessage.type != TraceMessage && _maxLogCount > 0) || - (logMessage.type == TraceMessage && _maxTraceCount > 0)) + if((logMessage.type != ICE_ENUM(LogMessageType, TraceMessage) && _maxLogCount > 0) || + (logMessage.type == ICE_ENUM(LogMessageType, TraceMessage) && _maxTraceCount > 0)) { list<LogMessage>::iterator p = _queue.insert(_queue.end(), logMessage); - if(logMessage.type != TraceMessage) + if(logMessage.type != ICE_ENUM(LogMessageType, TraceMessage)) { assert(_maxLogCount > 0); if(_logCount == _maxLogCount) @@ -508,7 +541,7 @@ LoggerAdminI::log(const LogMessage& logMessage) // assert(_oldestLog != _queue.end()); _oldestLog = _queue.erase(_oldestLog); - while(_oldestLog != _queue.end() && _oldestLog->type == TraceMessage) + while(_oldestLog != _queue.end() && _oldestLog->type == ICE_ENUM(LogMessageType, TraceMessage)) { _oldestLog++; } @@ -534,7 +567,7 @@ LoggerAdminI::log(const LogMessage& logMessage) // assert(_oldestTrace != _queue.end()); _oldestTrace = _queue.erase(_oldestTrace); - while(_oldestTrace != _queue.end() && _oldestTrace->type != TraceMessage) + while(_oldestTrace != _queue.end() && _oldestTrace->type != ICE_ENUM(LogMessageType, TraceMessage)) { _oldestTrace++; } @@ -560,7 +593,7 @@ LoggerAdminI::log(const LogMessage& logMessage) if(filters.messageTypes.empty() || filters.messageTypes.count(logMessage.type) != 0) { - if(logMessage.type != TraceMessage || filters.traceCategories.empty() || + if(logMessage.type != ICE_ENUM(LogMessageType, TraceMessage) || filters.traceCategories.empty() || filters.traceCategories.count(logMessage.traceCategory) != 0) { remoteLoggers.push_back(p->first); @@ -572,7 +605,7 @@ LoggerAdminI::log(const LogMessage& logMessage) } void -LoggerAdminI::deadRemoteLogger(const RemoteLoggerPrx& remoteLogger, +LoggerAdminI::deadRemoteLogger(const RemoteLoggerPrxPtr& remoteLogger, const LoggerPtr& logger, const LocalException& ex, const string& operation) @@ -591,39 +624,44 @@ LoggerAdminI::deadRemoteLogger(const RemoteLoggerPrx& remoteLogger, } bool -LoggerAdminI::removeRemoteLogger(const RemoteLoggerPrx& remoteLogger) +LoggerAdminI::removeRemoteLogger(const RemoteLoggerPrxPtr& remoteLogger) { IceUtil::Mutex::Lock lock(_mutex); return _remoteLoggerMap.erase(remoteLogger) > 0; } +#ifndef ICE_CPP11_MAPPING +// +// begin_init callback method for C++98 mapping +// void LoggerAdminI::initCompleted(const AsyncResultPtr& r) { - RemoteLoggerPrx remoteLogger = RemoteLoggerPrx::uncheckedCast(r->getProxy()); - -try + RemoteLoggerPrxPtr remoteLogger = ICE_UNCHECKED_CAST(RemoteLoggerPrx, r->getProxy()); + + try { remoteLogger->end_init(r); if(_traceLevel > 1) { - LoggerPtr logger = LoggerPtr::dynamicCast(r->getCookie()); + LoggerPtr logger = ICE_DYNAMIC_CAST(Logger, r->getCookie()); Trace trace(logger, traceCategory); trace << r->getOperation() << " on `" << remoteLogger << "' completed successfully"; } } catch(const LocalException& ex) { - deadRemoteLogger(remoteLogger, LoggerPtr::dynamicCast(r->getCookie()), ex, r->getOperation()); + deadRemoteLogger(remoteLogger, ICE_DYNAMIC_CAST(Logger, r->getCookie()), ex, r->getOperation()); } } +#endif // // LoggerAdminLoggerI // -LoggerAdminLoggerI::LoggerAdminLoggerI(const PropertiesPtr& props, +LoggerAdminLoggerI::LoggerAdminLoggerI(const PropertiesPtr& props, const LoggerPtr& localLogger) : _loggerAdmin(new LoggerAdminI(props)), _destroyed(false) @@ -648,7 +686,7 @@ LoggerAdminLoggerI::LoggerAdminLoggerI(const PropertiesPtr& props, void LoggerAdminLoggerI::print(const string& message) { - LogMessage logMessage = { PrintMessage, IceUtil::Time::now().toMicroSeconds(), "", message }; + LogMessage logMessage = { ICE_ENUM(LogMessageType, PrintMessage), IceUtil::Time::now().toMicroSeconds(), "", message }; _localLogger->print(message); log(logMessage); @@ -657,7 +695,7 @@ LoggerAdminLoggerI::print(const string& message) void LoggerAdminLoggerI::trace(const string& category, const string& message) { - LogMessage logMessage = { TraceMessage, IceUtil::Time::now().toMicroSeconds(), category, message }; + LogMessage logMessage = { ICE_ENUM(LogMessageType, TraceMessage), IceUtil::Time::now().toMicroSeconds(), category, message }; _localLogger->trace(category, message); log(logMessage); @@ -666,7 +704,7 @@ LoggerAdminLoggerI::trace(const string& category, const string& message) void LoggerAdminLoggerI::warning(const string& message) { - LogMessage logMessage = { WarningMessage, IceUtil::Time::now().toMicroSeconds(), "", message }; + LogMessage logMessage = { ICE_ENUM(LogMessageType, WarningMessage), IceUtil::Time::now().toMicroSeconds(), "", message }; _localLogger->warning(message); log(logMessage); @@ -675,7 +713,7 @@ LoggerAdminLoggerI::warning(const string& message) void LoggerAdminLoggerI::error(const string& message) { - LogMessage logMessage = { ErrorMessage, IceUtil::Time::now().toMicroSeconds(), "", message }; + LogMessage logMessage = { ICE_ENUM(LogMessageType, ErrorMessage), IceUtil::Time::now().toMicroSeconds(), "", message }; _localLogger->error(message); log(logMessage); @@ -702,7 +740,7 @@ LoggerAdminLoggerI::getFacet() const void LoggerAdminLoggerI::log(const LogMessage& logMessage) { - const vector<RemoteLoggerPrx> remoteLoggers = _loggerAdmin->log(logMessage); + const vector<RemoteLoggerPrxPtr> remoteLoggers = _loggerAdmin->log(logMessage); if(!remoteLoggers.empty()) { @@ -710,7 +748,7 @@ LoggerAdminLoggerI::log(const LogMessage& logMessage) if(!_sendLogThread) { - _sendLogThread = new SendLogThread(this); + _sendLogThread = new SendLogThread(ICE_SHARED_FROM_THIS); _sendLogThread->start(); } @@ -755,7 +793,9 @@ LoggerAdminLoggerI::run() trace << "send log thread started"; } +#ifndef ICE_CPP11_MAPPING CallbackPtr logCompletedCb = newCallback(this, &LoggerAdminLoggerI::logCompleted); +#endif for(;;) { @@ -774,7 +814,7 @@ LoggerAdminLoggerI::run() _jobQueue.pop_front(); lock.release(); - for(vector<RemoteLoggerPrx>::const_iterator p = job->remoteLoggers.begin(); p != job->remoteLoggers.end(); ++p) + for(vector<RemoteLoggerPrxPtr>::const_iterator p = job->remoteLoggers.begin(); p != job->remoteLoggers.end(); ++p) { if(_loggerAdmin->getTraceLevel() > 1) { @@ -784,10 +824,38 @@ LoggerAdminLoggerI::run() try { +#ifdef ICE_CPP11_MAPPING + RemoteLoggerPrxPtr remoteLogger = *p; + remoteLogger->log_async(job->logMessage, + [this, remoteLogger]() + { + if(this->_loggerAdmin->getTraceLevel() > 1) + { + Trace trace(_localLogger, traceCategory); + trace << "log on `" << remoteLogger << "' completed successfully"; + } + }, + [this, remoteLogger](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const CommunicatorDestroyedException&) + { + // expected if there are outstanding calls during communicator destruction + } + catch(const LocalException& ex) + { + this->_loggerAdmin->deadRemoteLogger(remoteLogger, _localLogger, ex, "log"); + } + }); +#else // // *p is a proxy associated with the _sendLogCommunicator // (*p)->begin_log(job->logMessage, logCompletedCb); +#endif } catch(const LocalException& ex) { @@ -803,12 +871,16 @@ LoggerAdminLoggerI::run() } } +#ifndef ICE_CPP11_MAPPING +// +// begin_log callback for C++98 mapping +// void LoggerAdminLoggerI::logCompleted(const AsyncResultPtr& r) { - RemoteLoggerPrx remoteLogger = RemoteLoggerPrx::uncheckedCast(r->getProxy()); - - try + RemoteLoggerPrxPtr remoteLogger = ICE_UNCHECKED_CAST(RemoteLoggerPrx, r->getProxy()); + + try { remoteLogger->end_log(r); @@ -827,6 +899,7 @@ LoggerAdminLoggerI::logCompleted(const AsyncResultPtr& r) _loggerAdmin->deadRemoteLogger(remoteLogger, _localLogger, ex, r->getOperation()); } } +#endif // // SendLogThread @@ -852,11 +925,11 @@ SendLogThread::run() namespace IceInternal { -LoggerAdminLoggerPtr -createLoggerAdminLogger(const PropertiesPtr& props, +LoggerAdminLoggerPtr +createLoggerAdminLogger(const PropertiesPtr& props, const LoggerPtr& localLogger) { - return new LoggerAdminLoggerI(props, localLogger); + return ICE_MAKE_SHARED(LoggerAdminLoggerI, props, localLogger); } } diff --git a/cpp/src/Ice/LoggerAdminI.h b/cpp/src/Ice/LoggerAdminI.h index 3d8ce595c53..68796df1ff8 100644 --- a/cpp/src/Ice/LoggerAdminI.h +++ b/cpp/src/Ice/LoggerAdminI.h @@ -34,11 +34,11 @@ public: // Destroy this logger, in particular join any thread // that this logger may have started // - virtual void destroy() = 0; + virtual void destroy() = 0; }; -typedef Handle<LoggerAdminLogger> LoggerAdminLoggerPtr; +ICE_DEFINE_PTR(LoggerAdminLoggerPtr, LoggerAdminLogger); -LoggerAdminLoggerPtr +LoggerAdminLoggerPtr createLoggerAdminLogger(const Ice::PropertiesPtr&, const Ice::LoggerPtr&); } diff --git a/cpp/src/Ice/LoggerI.cpp b/cpp/src/Ice/LoggerI.cpp index fcc3ac1d79c..2ecdd689c5e 100644 --- a/cpp/src/Ice/LoggerI.cpp +++ b/cpp/src/Ice/LoggerI.cpp @@ -122,7 +122,7 @@ Ice::LoggerI::getPrefix() LoggerPtr Ice::LoggerI::cloneWithPrefix(const std::string& prefix) { - return new LoggerI(prefix, _file, _convert, _converter); + return ICE_MAKE_SHARED(LoggerI, prefix, _file, _convert, _converter); } void diff --git a/cpp/src/Ice/LoggerI.h b/cpp/src/Ice/LoggerI.h index 441b016a08e..d5d6fb0658f 100644 --- a/cpp/src/Ice/LoggerI.h +++ b/cpp/src/Ice/LoggerI.h @@ -49,8 +49,7 @@ private: #endif }; - -typedef IceUtil::Handle<LoggerI> LoggerIPtr; +ICE_DEFINE_PTR(LoggerIPtr, LoggerI); } diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile index de6f29a4b6f..6260ba1a674 100644 --- a/cpp/src/Ice/Makefile +++ b/cpp/src/Ice/Makefile @@ -38,7 +38,6 @@ SLICE_OBJS = BuiltinSequences.o \ ObjectAdapter.o \ ObjectAdapterF.o \ ObjectFactory.o \ - ObjectFactoryF.o \ Plugin.o \ PluginF.o \ Process.o \ @@ -142,6 +141,7 @@ OBJS = Acceptor.o \ UdpConnector.o \ UdpEndpointI.o \ UdpTransceiver.o \ + Value.o \ WSAcceptor.o \ WSConnector.o \ WSEndpoint.o \ diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak index bdae62218d4..db8cddc15ff 100644 --- a/cpp/src/Ice/Makefile.mak +++ b/cpp/src/Ice/Makefile.mak @@ -38,7 +38,6 @@ SLICE_OBJS = .\BuiltinSequences.obj \ .\ObjectAdapter.obj \ .\ObjectAdapterF.obj \ .\ObjectFactory.obj \ - .\ObjectFactoryF.obj \ .\Plugin.obj \ .\PluginF.obj \ .\Process.obj \ @@ -52,6 +51,7 @@ SLICE_OBJS = .\BuiltinSequences.obj \ .\ServantLocator.obj \ .\ServantLocatorF.obj \ .\SliceChecksumDict.obj \ + .\Value.obj \ .\Version.obj WINDOWS_OBJS = .\DLLMain.obj diff --git a/cpp/src/Ice/MetricsAdminI.cpp b/cpp/src/Ice/MetricsAdminI.cpp index d6020d3940c..a80e1a7c3ab 100644 --- a/cpp/src/Ice/MetricsAdminI.cpp +++ b/cpp/src/Ice/MetricsAdminI.cpp @@ -80,7 +80,7 @@ parseRule(const PropertiesPtr& properties, const string& name) { try { - regexps.push_back(new MetricsMapI::RegExp(p->first.substr(name.length() + 1), p->second)); + regexps.push_back(ICE_MAKE_SHARED(MetricsMapI::RegExp, p->first.substr(name.length() + 1), p->second)); } catch(const std::exception&) { @@ -99,7 +99,7 @@ MetricsMapI::RegExp::RegExp(const string& attribute, const string& regexp) : _at // No regexp support with MinGW, when MinGW C++11 mode is not experimental // we can use std::regex. // -#elif !defined(ICE_CPP11_REGEXP) +#elif !defined(ICE_CPP11_COMPILER_REGEXP) if(regcomp(&_preg, regexp.c_str(), REG_EXTENDED | REG_NOSUB) != 0) { throw SyscallException(__FILE__, __LINE__); @@ -120,7 +120,7 @@ MetricsMapI::RegExp::~RegExp() // No regexp support with MinGW, when MinGW C++11 mode is not experimental // we can use std::regex. // -#elif !defined(ICE_CPP11_REGEXP) +#elif !defined(ICE_CPP11_COMPILER_REGEXP) regfree(&_preg); #endif } @@ -134,7 +134,7 @@ MetricsMapI::RegExp::match(const string& value) // we can use std::regex. // return false; -#elif !defined(ICE_CPP11_REGEXP) +#elif !defined(ICE_CPP11_COMPILER_REGEXP) return regexec(&_preg, value.c_str(), 0, 0, 0) == 0; #else # if _MSC_VER < 1600 @@ -439,7 +439,7 @@ MetricsAdminI::updateViews() map<string, MetricsViewIPtr>::const_iterator q = _views.find(viewName); if(q == _views.end()) { - q = views.insert(map<string, MetricsViewIPtr>::value_type(viewName, new MetricsViewI(viewName))).first; + q = views.insert(map<string, MetricsViewIPtr>::value_type(viewName, ICE_MAKE_SHARED(MetricsViewI, viewName))).first; } else { diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index 69a17208243..14086c0d81b 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -19,13 +19,15 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING Object* Ice::upCast(Object* p) { return p; } -void +void Ice::__patch(ObjectPtr& obj, const ObjectPtr& v) { obj = v; } +#endif bool Ice::Object::operator==(const Object& r) const @@ -87,16 +89,6 @@ Ice::Object::ice_clone() const return 0; // avoid warning with some compilers } -void -Ice::Object::ice_preMarshal() -{ -} - -void -Ice::Object::ice_postUnmarshal() -{ -} - DispatchStatus Ice::Object::___ice_isA(Incoming& __inS, const Current& __current) { @@ -142,12 +134,6 @@ Ice::Object::___ice_id(Incoming& __inS, const Current& __current) return DispatchOK; } -Ice::Int -Ice::Object::ice_operationAttributes(const string&) const -{ - return 0; -} - string Ice::Object::__all[] = { @@ -229,6 +215,17 @@ Ice::Object::__dispatch(Incoming& in, const Current& current) throw OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation); } +#ifndef ICE_CPP11_MAPPING +void +Ice::Object::ice_preMarshal() +{ +} + +void +Ice::Object::ice_postUnmarshal() +{ +} + void Ice::Object::__write(IceInternal::BasicStream* os) const { @@ -266,13 +263,20 @@ Ice::Object::__writeImpl(const OutputStreamPtr&) const { throw MarshalException(__FILE__, __LINE__, "class was not generated with stream support"); } - -void + +void Ice::Object::__readImpl(const InputStreamPtr&) { throw MarshalException(__FILE__, __LINE__, "class was not generated with stream support"); } +Ice::Int +Ice::Object::ice_operationAttributes(const string&) const +{ + return 0; +} +#endif + namespace { @@ -281,19 +285,26 @@ operationModeToString(OperationMode mode) { switch(mode) { - case Normal: + case ICE_ENUM(OperationMode, Normal): return "::Ice::Normal"; - case Nonmutating: + case ICE_ENUM(OperationMode, Nonmutating): return "::Ice::Nonmutating"; - case Idempotent: + case ICE_ENUM(OperationMode, Idempotent): return "::Ice::Idempotent"; } - + // + // This could not happen with C++11 strong type enums + // +#ifndef ICE_CPP11_MAPPING ostringstream os; os << "unknown value (" << mode << ")"; return os.str(); +#else + assert(false); + return ""; +#endif } } @@ -303,12 +314,12 @@ Ice::Object::__checkMode(OperationMode expected, OperationMode received) { if(expected != received) { - if(expected == Idempotent && received == Nonmutating) + if(expected == ICE_ENUM(OperationMode, Idempotent) && received == ICE_ENUM(OperationMode, Nonmutating)) { - // + // // Fine: typically an old client still using the deprecated nonmutating keyword // - + // // Note that expected == Nonmutating and received == Idempotent is not ok: // the server may still use the deprecated nonmutating keyword to detect updates @@ -385,6 +396,10 @@ Ice::BlobjectArray::__dispatch(Incoming& in, const Current& current) DispatchStatus Ice::BlobjectAsync::__dispatch(Incoming& in, const Current& current) { +#ifdef ICE_CPP11_MAPPING + // TODO + return DispatchAsync; +#else const Byte* inEncaps; Int sz; in.readParamEncaps(inEncaps, sz); @@ -402,11 +417,16 @@ Ice::BlobjectAsync::__dispatch(Incoming& in, const Current& current) cb->ice_exception(); } return DispatchAsync; +#endif } DispatchStatus Ice::BlobjectArrayAsync::__dispatch(Incoming& in, const Current& current) { +#ifdef ICE_CPP11_MAPPING + // TODO + return DispatchAsync; +#else pair<const Byte*, const Byte*> inEncaps; Int sz; in.readParamEncaps(inEncaps.first, sz); @@ -425,16 +445,17 @@ Ice::BlobjectArrayAsync::__dispatch(Incoming& in, const Current& current) cb->ice_exception(); } return DispatchAsync; +#endif } void -Ice::ice_writeObject(const OutputStreamPtr& out, const ObjectPtr& p) +Ice::ice_writeObject(const OutputStreamPtr& out, const ValuePtr& p) { out->write(p); } void -Ice::ice_readObject(const InputStreamPtr& in, ObjectPtr& p) +Ice::ice_readObject(const InputStreamPtr& in, ValuePtr& p) { in->read(p); } diff --git a/cpp/src/Ice/ObjectAdapterFactory.cpp b/cpp/src/Ice/ObjectAdapterFactory.cpp index 492ba389f70..66df21a586e 100644 --- a/cpp/src/Ice/ObjectAdapterFactory.cpp +++ b/cpp/src/Ice/ObjectAdapterFactory.cpp @@ -18,7 +18,9 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(ObjectAdapterFactory* p) { return p; } +#endif void IceInternal::ObjectAdapterFactory::shutdown() @@ -49,7 +51,11 @@ IceInternal::ObjectAdapterFactory::shutdown() // Deactivate outside the thread synchronization, to avoid // deadlocks. // +#ifdef ICE_CPP11_MAPPING + for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->deactivate(); }); +#else for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::deactivate)); +#endif } void @@ -74,7 +80,11 @@ IceInternal::ObjectAdapterFactory::waitForShutdown() // // Now we wait for deactivation of each object adapter. // +#ifdef ICE_CPP11_MAPPING + for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->waitForDeactivate(); }); +#else for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::waitForDeactivate)); +#endif } bool @@ -103,8 +113,11 @@ IceInternal::ObjectAdapterFactory::destroy() // // Now we destroy each object adapter. // +#ifdef ICE_CPP11_MAPPING + for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->destroy(); }); +#else for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::destroy)); - +#endif { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); _adapters.clear(); @@ -120,12 +133,19 @@ IceInternal::ObjectAdapterFactory::updateObservers(void (ObjectAdapterI::*fn)()) IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); adapters = _adapters; } - +#ifdef ICE_CPP11_MAPPING + for_each(adapters.begin(), adapters.end(), + [fn](const ObjectAdapterIPtr& adapter) + { + (adapter.get() ->* fn)(); + }); +#else for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(fn)); +#endif } ObjectAdapterPtr -IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const RouterPrx& router) +IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const RouterPrxPtr& router) { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -138,8 +158,8 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const if(name.empty()) { string uuid = IceUtil::generateUUID(); - adapter = new ObjectAdapterI(_instance, _communicator, this, uuid, true); - adapter->initialize(0); + adapter = ICE_MAKE_SHARED(ObjectAdapterI, _instance, _communicator, ICE_SHARED_FROM_THIS, uuid, true); + adapter->initialize(ICE_NULLPTR); } else { @@ -147,7 +167,7 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const { throw AlreadyRegisteredException(__FILE__, __LINE__, "object adapter", name); } - adapter = new ObjectAdapterI(_instance, _communicator, this, name, false); + adapter = ICE_MAKE_SHARED(ObjectAdapterI, _instance, _communicator, ICE_SHARED_FROM_THIS, name, false); adapter->initialize(router); _adapterNamesInUse.insert(name); } @@ -157,7 +177,7 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const } ObjectAdapterPtr -IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrx& proxy) +IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrxPtr& proxy) { list<ObjectAdapterIPtr> adapters; { @@ -165,7 +185,7 @@ IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrx& proxy) if(!_instance) { - return 0; + return ICE_NULLPTR; } adapters = _adapters; @@ -186,7 +206,7 @@ IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrx& proxy) } } - return 0; + return ICE_NULLPTR; } void diff --git a/cpp/src/Ice/ObjectAdapterFactory.h b/cpp/src/Ice/ObjectAdapterFactory.h index 6434a25b178..d9e52a9a7bb 100644 --- a/cpp/src/Ice/ObjectAdapterFactory.h +++ b/cpp/src/Ice/ObjectAdapterFactory.h @@ -19,7 +19,7 @@ namespace IceInternal { -class ObjectAdapterFactory : public ::IceUtil::Shared, public ::IceUtil::Monitor< ::IceUtil::RecMutex> +class ObjectAdapterFactory : public ICE_ENABLE_SHARED_FROM_THIS(ObjectAdapterFactory), public ::IceUtil::Monitor< ::IceUtil::RecMutex> { public: @@ -30,15 +30,16 @@ public: void updateObservers(void (Ice::ObjectAdapterI::*)()); - ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::RouterPrx&); - ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrx&); + ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::RouterPrxPtr&); + ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrxPtr&); void removeObjectAdapter(const ::Ice::ObjectAdapterPtr&); void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&) const; -private: - ObjectAdapterFactory(const InstancePtr&, const ::Ice::CommunicatorPtr&); virtual ~ObjectAdapterFactory(); + +private: + friend class Instance; InstancePtr _instance; diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 220811dda07..4f30f82b3a5 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -95,8 +95,16 @@ Ice::ObjectAdapterI::activate() // if(_state != StateUninitialized) { +#ifdef ICE_CPP11_MAPPING + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->activate(); + }); +#else for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::activate)); +#endif return; } @@ -148,9 +156,16 @@ Ice::ObjectAdapterI::activate() IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); assert(_state == StateActivating); +#ifdef ICE_CPP11_MAPPING + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->activate(); + }); +#else for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::activate)); - +#endif _state = StateActive; notifyAll(); } @@ -164,8 +179,16 @@ Ice::ObjectAdapterI::hold() checkForDeactivation(); _state = StateHeld; +#ifdef ICE_CPP11_MAPPING + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->hold(); + }); +#else for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::hold)); +#endif } void @@ -180,8 +203,16 @@ Ice::ObjectAdapterI::waitForHold() incomingConnectionFactories = _incomingConnectionFactories; } +#ifdef ICE_CPP11_MAPPING + for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->waitUntilHolding(); + }); +#else for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(), Ice::constVoidMemFun(&IncomingConnectionFactory::waitUntilHolding)); +#endif } void @@ -240,15 +271,23 @@ Ice::ObjectAdapterI::deactivate() // Connection::destroy() might block when sending a CloseConnection // message. // +#ifdef ICE_CPP11_MAPPING + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->destroy(); + }); +#else for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::destroy)); +#endif // // Must be called outside the thread synchronization, because // changing the object adapter might block if there are still // requests being dispatched. // - _instance->outgoingConnectionFactory()->removeAdapter(this); + _instance->outgoingConnectionFactory()->removeAdapter(ICE_SHARED_FROM_THIS); { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -285,8 +324,16 @@ Ice::ObjectAdapterI::waitForDeactivate() // Now we wait until all incoming connection factories are // finished. // +#ifdef ICE_CPP11_MAPPING + for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->waitUntilFinished(); + }); +#else for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::waitUntilFinished)); +#endif } bool @@ -343,7 +390,7 @@ Ice::ObjectAdapterI::destroy() if(_objectAdapterFactory) { - _objectAdapterFactory->removeObjectAdapter(this); + _objectAdapterFactory->removeObjectAdapter(ICE_SHARED_FROM_THIS); } { @@ -372,13 +419,13 @@ Ice::ObjectAdapterI::destroy() } } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::add(const ObjectPtr& object, const Identity& ident) { return addFacet(object, ident, ""); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::addFacet(const ObjectPtr& object, const Identity& ident, const string& facet) { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -392,13 +439,13 @@ Ice::ObjectAdapterI::addFacet(const ObjectPtr& object, const Identity& ident, co return newProxy(ident, facet); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::addWithUUID(const ObjectPtr& object) { return addFacetWithUUID(object, ""); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::addFacetWithUUID(const ObjectPtr& object, const string& facet) { Identity ident; @@ -484,7 +531,7 @@ Ice::ObjectAdapterI::findAllFacets(const Identity& ident) const } ObjectPtr -Ice::ObjectAdapterI::findByProxy(const ObjectPrx& proxy) const +Ice::ObjectAdapterI::findByProxy(const ObjectPrxPtr& proxy) const { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -534,7 +581,7 @@ Ice::ObjectAdapterI::findServantLocator(const string& prefix) const return _servantManager->findServantLocator(prefix); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::createProxy(const Identity& ident) const { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -545,7 +592,7 @@ Ice::ObjectAdapterI::createProxy(const Identity& ident) const return newProxy(ident, ""); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::createDirectProxy(const Identity& ident) const { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -556,7 +603,7 @@ Ice::ObjectAdapterI::createDirectProxy(const Identity& ident) const return newDirectProxy(ident, ""); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::createIndirectProxy(const Identity& ident) const { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -568,7 +615,7 @@ Ice::ObjectAdapterI::createIndirectProxy(const Identity& ident) const } void -Ice::ObjectAdapterI::setLocator(const LocatorPrx& locator) +Ice::ObjectAdapterI::setLocator(const LocatorPrxPtr& locator) { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -577,7 +624,7 @@ Ice::ObjectAdapterI::setLocator(const LocatorPrx& locator) _locatorInfo = _instance->locatorManager()->get(locator); } -LocatorPrx +LocatorPrxPtr Ice::ObjectAdapterI::getLocator() const { IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); @@ -635,7 +682,15 @@ Ice::ObjectAdapterI::getEndpoints() const EndpointSeq endpoints; transform(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), - back_inserter(endpoints), Ice::constMemFun(&IncomingConnectionFactory::endpoint)); + back_inserter(endpoints), +#ifdef ICE_CPP11_MAPPING + [](const IncomingConnectionFactoryPtr& factory) + { + return factory->endpoint(); + }); +#else + Ice::constMemFun(&IncomingConnectionFactory::endpoint)); +#endif return endpoints; } @@ -650,7 +705,7 @@ Ice::ObjectAdapterI::getPublishedEndpoints() const } bool -Ice::ObjectAdapterI::isLocal(const ObjectPrx& proxy) const +Ice::ObjectAdapterI::isLocal(const ObjectPrxPtr& proxy) const { // // NOTE: it's important that isLocal() doesn't perform any blocking operations as @@ -752,7 +807,15 @@ Ice::ObjectAdapterI::updateConnectionObservers() IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this); f = _incomingConnectionFactories; } +#ifdef ICE_CPP11_MAPPING + for_each(f.begin(), f.end(), + [](const IncomingConnectionFactoryPtr& factory) + { + factory->updateConnectionObservers(); + }); +#else for_each(f.begin(), f.end(), Ice::voidMemFun(&IncomingConnectionFactory::updateConnectionObservers)); +#endif } void @@ -842,7 +905,7 @@ Ice::ObjectAdapterI::getACM() const // Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const CommunicatorPtr& communicator, const ObjectAdapterFactoryPtr& objectAdapterFactory, const string& name, - /*const RouterPrx& router,*/ bool noConfig) : + /*const RouterPrxPtr& router,*/ bool noConfig) : _state(StateUninitialized), _instance(instance), _communicator(communicator), @@ -856,7 +919,7 @@ Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const Communica } void -Ice::ObjectAdapterI::initialize(const RouterPrx& router) +Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router) { if(_noConfig) { @@ -944,8 +1007,8 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router) if(!router) { - const_cast<RouterPrx&>(router) = RouterPrx::uncheckedCast( - _instance->proxyFactory()->propertyToProxy(_name + ".Router")); + const_cast<RouterPrxPtr&>(router) = ICE_UNCHECKED_CAST(RouterPrx, + _instance->proxyFactory()->propertyToProxy(_name + ".Router")); } if(router) { @@ -976,7 +1039,7 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router) // new outgoing connections to the router's client proxy will // use this object adapter for callbacks. // - _routerInfo->setAdapter(this); + _routerInfo->setAdapter(ICE_SHARED_FROM_THIS); // // Also modify all existing outgoing connections to the @@ -996,7 +1059,7 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router) vector<EndpointIPtr> endpoints = parseEndpoints(properties->getProperty(_name + ".Endpoints"), true); for(vector<EndpointIPtr>::iterator p = endpoints.begin(); p != endpoints.end(); ++p) { - IncomingConnectionFactoryPtr factory = new IncomingConnectionFactory(_instance, *p, this); + IncomingConnectionFactoryPtr factory = ICE_MAKE_SHARED(IncomingConnectionFactory, _instance, *p, ICE_SHARED_FROM_THIS); factory->initialize(); _incomingConnectionFactories.push_back(factory); } @@ -1019,7 +1082,7 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router) if(!properties->getProperty(_name + ".Locator").empty()) { - setLocator(LocatorPrx::uncheckedCast(_instance->proxyFactory()->propertyToProxy(_name + ".Locator"))); + setLocator(ICE_UNCHECKED_CAST(LocatorPrx, _instance->proxyFactory()->propertyToProxy(_name + ".Locator"))); } else { @@ -1054,7 +1117,7 @@ Ice::ObjectAdapterI::~ObjectAdapterI() } } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::newProxy(const Identity& ident, const string& facet) const { if(_id.empty()) @@ -1071,7 +1134,7 @@ Ice::ObjectAdapterI::newProxy(const Identity& ident, const string& facet) const } } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::newDirectProxy(const Identity& ident, const string& facet) const { vector<EndpointIPtr> endpoints = _publishedEndpoints; @@ -1090,7 +1153,7 @@ Ice::ObjectAdapterI::newDirectProxy(const Identity& ident, const string& facet) return _instance->proxyFactory()->referenceToProxy(ref); } -ObjectPrx +ObjectPrxPtr Ice::ObjectAdapterI::newIndirectProxy(const Identity& ident, const string& facet, const string& id) const { // @@ -1238,14 +1301,14 @@ ObjectAdapterI::parsePublishedEndpoints() } void -ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const Ice::ObjectPrx& proxy) +ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const Ice::ObjectPrxPtr& proxy) { if(_id.empty() || !locatorInfo) { return; // Nothing to update. } - LocatorRegistryPrx locatorRegistry = locatorInfo->getLocatorRegistry(); + LocatorRegistryPrxPtr locatorRegistry = locatorInfo->getLocatorRegistry(); if(!locatorRegistry) { return; diff --git a/cpp/src/Ice/ObjectAdapterI.h b/cpp/src/Ice/ObjectAdapterI.h index 03e389ec0a1..5addbdfe846 100644 --- a/cpp/src/Ice/ObjectAdapterI.h +++ b/cpp/src/Ice/ObjectAdapterI.h @@ -36,9 +36,11 @@ namespace Ice { class ObjectAdapterI; -typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; +ICE_DEFINE_PTR(ObjectAdapterIPtr, ObjectAdapterI); -class ObjectAdapterI : public ObjectAdapter, public IceUtil::Monitor<IceUtil::RecMutex> +class ObjectAdapterI : public ICE_ENABLE_SHARED_FROM_THIS(ObjectAdapterI), + public ObjectAdapter, + public IceUtil::Monitor<IceUtil::RecMutex> { public: @@ -54,10 +56,10 @@ public: virtual bool isDeactivated() const; virtual void destroy(); - virtual ObjectPrx add(const ObjectPtr&, const Identity&); - virtual ObjectPrx addFacet(const ObjectPtr&, const Identity&, const std::string&); - virtual ObjectPrx addWithUUID(const ObjectPtr&); - virtual ObjectPrx addFacetWithUUID(const ObjectPtr&, const std::string&); + virtual ObjectPrxPtr add(const ObjectPtr&, const Identity&); + virtual ObjectPrxPtr addFacet(const ObjectPtr&, const Identity&, const std::string&); + virtual ObjectPrxPtr addWithUUID(const ObjectPtr&); + virtual ObjectPrxPtr addFacetWithUUID(const ObjectPtr&, const std::string&); virtual void addDefaultServant(const ObjectPtr&, const std::string&); virtual ObjectPtr remove(const Identity&); virtual ObjectPtr removeFacet(const Identity&, const std::string&); @@ -66,7 +68,7 @@ public: virtual ObjectPtr find(const Identity&) const; virtual ObjectPtr findFacet(const Identity&, const std::string&) const; virtual FacetMap findAllFacets(const Identity&) const; - virtual ObjectPtr findByProxy(const ObjectPrx&) const; + virtual ObjectPtr findByProxy(const ObjectPrxPtr&) const; virtual ObjectPtr findDefaultServant(const std::string&) const; @@ -74,18 +76,18 @@ public: virtual ServantLocatorPtr removeServantLocator(const std::string&); virtual ServantLocatorPtr findServantLocator(const std::string&) const; - virtual ObjectPrx createProxy(const Identity&) const; - virtual ObjectPrx createDirectProxy(const Identity&) const; - virtual ObjectPrx createIndirectProxy(const Identity&) const; + virtual ObjectPrxPtr createProxy(const Identity&) const; + virtual ObjectPrxPtr createDirectProxy(const Identity&) const; + virtual ObjectPrxPtr createIndirectProxy(const Identity&) const; - virtual void setLocator(const LocatorPrx&); - virtual Ice::LocatorPrx getLocator() const; + virtual void setLocator(const LocatorPrxPtr&); + virtual Ice::LocatorPrxPtr getLocator() const; virtual void refreshPublishedEndpoints(); virtual EndpointSeq getEndpoints() const; virtual EndpointSeq getPublishedEndpoints() const; - bool isLocal(const ObjectPrx&) const; + bool isLocal(const ObjectPrxPtr&) const; void flushAsyncBatchRequests(const IceInternal::CommunicatorFlushBatchAsyncPtr&); @@ -100,21 +102,22 @@ public: IceInternal::ACMConfig getACM() const; size_t messageSizeMax() const { return _messageSizeMax; } -private: - ObjectAdapterI(const IceInternal::InstancePtr&, const CommunicatorPtr&, const IceInternal::ObjectAdapterFactoryPtr&, const std::string&, bool); virtual ~ObjectAdapterI(); - void initialize(const RouterPrx&); + +private: + + void initialize(const RouterPrxPtr&); friend class IceInternal::ObjectAdapterFactory; - ObjectPrx newProxy(const Identity&, const std::string&) const; - ObjectPrx newDirectProxy(const Identity&, const std::string&) const; - ObjectPrx newIndirectProxy(const Identity&, const std::string&, const std::string&) const; + ObjectPrxPtr newProxy(const Identity&, const std::string&) const; + ObjectPrxPtr newDirectProxy(const Identity&, const std::string&) const; + ObjectPrxPtr newIndirectProxy(const Identity&, const std::string&, const std::string&) const; void checkForDeactivation() const; std::vector<IceInternal::EndpointIPtr> parseEndpoints(const std::string&, bool) const; std::vector<IceInternal::EndpointIPtr> parsePublishedEndpoints(); - void updateLocatorRegistry(const IceInternal::LocatorInfoPtr&, const Ice::ObjectPrx&); + void updateLocatorRegistry(const IceInternal::LocatorInfoPtr&, const Ice::ObjectPrxPtr&); bool filterProperties(Ice::StringSeq&); enum State diff --git a/cpp/src/Ice/ObjectFactoryManager.cpp b/cpp/src/Ice/ObjectFactoryManager.cpp index 835df0b588e..d09ad32afe1 100644 --- a/cpp/src/Ice/ObjectFactoryManager.cpp +++ b/cpp/src/Ice/ObjectFactoryManager.cpp @@ -19,7 +19,7 @@ using namespace IceInternal; IceUtil::Shared* IceInternal::upCast(ObjectFactoryManager* p) { return p; } void -IceInternal::ObjectFactoryManager::add(const ObjectFactoryPtr& factory, const string& id) +IceInternal::ObjectFactoryManager::add(const ICE_OBJECT_FACTORY& factory, const string& id) { IceUtil::Mutex::Lock sync(*this); @@ -32,13 +32,13 @@ IceInternal::ObjectFactoryManager::add(const ObjectFactoryPtr& factory, const st throw ex; } - _factoryMapHint = _factoryMap.insert(_factoryMapHint, pair<const string, ObjectFactoryPtr>(id, factory)); + _factoryMapHint = _factoryMap.insert(_factoryMapHint, pair<const string, ICE_OBJECT_FACTORY>(id, factory)); } void IceInternal::ObjectFactoryManager::remove(const string& id) { - ObjectFactoryPtr factory = 0; + ICE_OBJECT_FACTORY factory = ICE_NULLPTR; { IceUtil::Mutex::Lock sync(*this); @@ -81,10 +81,12 @@ IceInternal::ObjectFactoryManager::remove(const string& id) // Destroy outside the lock // assert(factory != 0); +#ifndef ICE_CPP11_MAPPING factory->destroy(); +#endif } -ObjectFactoryPtr +ICE_OBJECT_FACTORY IceInternal::ObjectFactoryManager::find(const string& id) const { IceUtil::Mutex::Lock sync(*this); @@ -112,7 +114,7 @@ IceInternal::ObjectFactoryManager::find(const string& id) const } else { - return 0; + return ICE_NULLPTR; } } @@ -124,6 +126,11 @@ IceInternal::ObjectFactoryManager::ObjectFactoryManager() : 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); @@ -136,4 +143,5 @@ IceInternal::ObjectFactoryManager::destroy() // 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 index 97efc5305ee..c102d276c2c 100644 --- a/cpp/src/Ice/ObjectFactoryManager.h +++ b/cpp/src/Ice/ObjectFactoryManager.h @@ -13,7 +13,7 @@ #include <IceUtil/Shared.h> #include <IceUtil/Mutex.h> #include <Ice/ObjectFactoryManagerF.h> -#include <Ice/ObjectFactoryF.h> +#include <Ice/ObjectFactory.h> namespace IceInternal { @@ -22,11 +22,11 @@ class ObjectFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex { public: - void add(const ::Ice::ObjectFactoryPtr&, const std::string&); + 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&); - ::Ice::ObjectFactoryPtr find(const std::string&) const; - - typedef std::map<std::string, ::Ice::ObjectFactoryPtr> FactoryMap; private: diff --git a/cpp/src/Ice/ObserverHelper.cpp b/cpp/src/Ice/ObserverHelper.cpp index d5604b3d973..9fe1ed7f520 100644 --- a/cpp/src/Ice/ObserverHelper.cpp +++ b/cpp/src/Ice/ObserverHelper.cpp @@ -23,7 +23,7 @@ Ice::Context emptyCtx; } -IceInternal::InvocationObserver::InvocationObserver(IceProxy::Ice::Object* proxy, const string& op, const Context* ctx) +IceInternal::InvocationObserver::InvocationObserver(const Ice::ObjectPrxPtr& proxy, const string& op, const Context* ctx) { const CommunicatorObserverPtr& obsv = proxy->__reference()->getInstance()->initializationData().observer; if(!obsv) @@ -53,7 +53,7 @@ IceInternal::InvocationObserver::InvocationObserver(IceInternal::Instance* insta } void -IceInternal::InvocationObserver::attach(IceProxy::Ice::Object* proxy, const string& op, const Context* ctx) +IceInternal::InvocationObserver::attach(const Ice::ObjectPrxPtr& proxy, const string& op, const Context* ctx) { const CommunicatorObserverPtr& obsv = proxy->__reference()->getInstance()->initializationData().observer; if(!obsv) diff --git a/cpp/src/Ice/OpaqueEndpointI.cpp b/cpp/src/Ice/OpaqueEndpointI.cpp index c061eb0acfa..6a15b5e920c 100644 --- a/cpp/src/Ice/OpaqueEndpointI.cpp +++ b/cpp/src/Ice/OpaqueEndpointI.cpp @@ -107,7 +107,7 @@ IceInternal::OpaqueEndpointI::streamWrite(BasicStream* s) const Ice::EndpointInfoPtr IceInternal::OpaqueEndpointI::getInfo() const { - return new OpaqueEndpointInfoI(_type, _rawEncoding, _rawBytes); + return ICE_MAKE_SHARED(OpaqueEndpointInfoI, _type, _rawEncoding, _rawBytes); } Short @@ -131,7 +131,11 @@ IceInternal::OpaqueEndpointI::timeout() const EndpointIPtr IceInternal::OpaqueEndpointI::timeout(Int) const { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<OpaqueEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<OpaqueEndpointI*>(this); +#endif } const string& @@ -143,7 +147,11 @@ IceInternal::OpaqueEndpointI::connectionId() const EndpointIPtr IceInternal::OpaqueEndpointI::connectionId(const string&) const { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<OpaqueEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<OpaqueEndpointI*>(this); +#endif } bool @@ -155,7 +163,11 @@ IceInternal::OpaqueEndpointI::compress() const EndpointIPtr IceInternal::OpaqueEndpointI::compress(bool) const { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<OpaqueEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<OpaqueEndpointI*>(this); +#endif } bool @@ -173,7 +185,7 @@ IceInternal::OpaqueEndpointI::secure() const TransceiverPtr IceInternal::OpaqueEndpointI::transceiver() const { - return 0; + return ICE_NULLPTR; } void @@ -185,14 +197,18 @@ IceInternal::OpaqueEndpointI::connectors_async(Ice::EndpointSelectionType, const AcceptorPtr IceInternal::OpaqueEndpointI::acceptor(const string&) const { - return 0; + return ICE_NULLPTR; } vector<EndpointIPtr> IceInternal::OpaqueEndpointI::expand() const { vector<EndpointIPtr> endps; +#ifdef ICE_CPP11_MAPPING + endps.push_back(dynamic_pointer_cast<OpaqueEndpointI>(const_pointer_cast<EndpointI>(shared_from_this()))); +#else endps.push_back(const_cast<OpaqueEndpointI*>(this)); +#endif return endps; } @@ -231,7 +247,11 @@ IceInternal::OpaqueEndpointI::options() const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::OpaqueEndpointI::operator==(const EndpointI& r) const +#else IceInternal::OpaqueEndpointI::operator==(const LocalObject& r) const +#endif { const OpaqueEndpointI* p = dynamic_cast<const OpaqueEndpointI*>(&r); if(!p) @@ -263,7 +283,11 @@ IceInternal::OpaqueEndpointI::operator==(const LocalObject& r) const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::OpaqueEndpointI::operator<(const EndpointI& r) const +#else IceInternal::OpaqueEndpointI::operator<(const LocalObject& r) const +#endif { const OpaqueEndpointI* p = dynamic_cast<const OpaqueEndpointI*>(&r); if(!p) diff --git a/cpp/src/Ice/OpaqueEndpointI.h b/cpp/src/Ice/OpaqueEndpointI.h index 9c943c59e59..4ea862d4c30 100644 --- a/cpp/src/Ice/OpaqueEndpointI.h +++ b/cpp/src/Ice/OpaqueEndpointI.h @@ -45,9 +45,13 @@ public: virtual Ice::Int hash() const; virtual std::string options() const; +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const; + virtual bool operator<(const EndpointI&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; - +#endif using EndpointI::connectionId; diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp index 14eb27f7693..2cc2c091ae1 100644 --- a/cpp/src/Ice/Outgoing.cpp +++ b/cpp/src/Ice/Outgoing.cpp @@ -26,7 +26,7 @@ OutgoingBase::OutgoingBase(Instance* instance) : _os(instance, Ice::currentProto { } -ProxyOutgoingBase::ProxyOutgoingBase(IceProxy::Ice::Object* proxy, OperationMode mode) : +ProxyOutgoingBase::ProxyOutgoingBase(const Ice::ObjectPrxPtr& proxy, OperationMode mode) : OutgoingBase(proxy->__reference()->getInstance().get()), _proxy(proxy), _mode(mode), @@ -280,7 +280,7 @@ ProxyOutgoingBase::invokeImpl() return false; } -Outgoing::Outgoing(IceProxy::Ice::Object* proxy, const string& operation, OperationMode mode, const Context* context) : +Outgoing::Outgoing(const Ice::ObjectPrxPtr& proxy, const string& operation, OperationMode mode, const Context* context) : ProxyOutgoingBase(proxy, mode), _encoding(getCompatibleEncoding(proxy->__reference()->getEncoding())), _is(proxy->__reference()->getInstance().get(), Ice::currentProtocolEncoding), @@ -288,7 +288,6 @@ Outgoing::Outgoing(IceProxy::Ice::Object* proxy, const string& operation, Operat { checkSupportedProtocol(getCompatibleProtocol(proxy->__reference()->getProtocol())); _observer.attach(proxy, operation, context); - switch(_proxy->__reference()->getMode()) { case Reference::ModeTwoway: @@ -328,7 +327,7 @@ Outgoing::Outgoing(IceProxy::Ice::Object* proxy, const string& operation, Operat _os.write(static_cast<Ice::Byte>(mode)); - if(context != 0) + if(context != &Ice::noExplicitContext) { // // Explicit context @@ -582,8 +581,8 @@ Outgoing::throwUserException() } } -ProxyFlushBatch::ProxyFlushBatch(IceProxy::Ice::Object* proxy, const string& operation) : - ProxyOutgoingBase(proxy, Ice::Normal) +ProxyFlushBatch::ProxyFlushBatch(const Ice::ObjectPrxPtr& proxy, const string& operation) : + ProxyOutgoingBase(proxy, ICE_ENUM(OperationMode, Normal)) { checkSupportedProtocol(getCompatibleProtocol(proxy->__reference()->getProtocol())); _observer.attach(proxy, operation, 0); diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp index ee1e6d5a437..cfe5adda62e 100644 --- a/cpp/src/Ice/OutgoingAsync.cpp +++ b/cpp/src/Ice/OutgoingAsync.cpp @@ -22,10 +22,12 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(OutgoingAsyncBase* p) { return p; } IceUtil::Shared* IceInternal::upCast(ProxyOutgoingAsyncBase* p) { return p; } IceUtil::Shared* IceInternal::upCast(OutgoingAsync* p) { return p; } IceUtil::Shared* IceInternal::upCast(CommunicatorFlushBatchAsync* p) { return p; } +#endif bool OutgoingAsyncBase::sent() @@ -52,12 +54,20 @@ OutgoingAsyncBase::getIs() return 0; // Must be overriden by request that can handle responses } +#ifdef ICE_CPP11_MAPPING +OutgoingAsyncBase::OutgoingAsyncBase(const CommunicatorPtr& communicator, + const InstancePtr& instance, + const string& operation, + const CallbackBasePtr& delegate) : + AsyncResult(communicator, instance, operation, delegate), +#else OutgoingAsyncBase::OutgoingAsyncBase(const CommunicatorPtr& communicator, const InstancePtr& instance, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : AsyncResult(communicator, instance, operation, delegate, cookie), +#endif _os(instance.get(), Ice::currentProtocolEncoding) { } @@ -83,7 +93,7 @@ OutgoingAsyncBase::finished(const Exception& ex) return AsyncResult::finished(ex); } -Ice::ObjectPrx +Ice::ObjectPrxPtr ProxyOutgoingAsyncBase::getProxy() const { return _proxy; @@ -101,7 +111,11 @@ ProxyOutgoingAsyncBase::completed(const Exception& exc) _cachedConnection = 0; if(_proxy->__reference()->getInvocationTimeout() == -2) { +#ifdef ICE_CPP11_MAPPING + _instance->timer()->cancel(dynamic_pointer_cast<TimerTask>(shared_from_this())); +#else _instance->timer()->cancel(this); +#endif } // @@ -115,7 +129,12 @@ ProxyOutgoingAsyncBase::completed(const Exception& exc) // the retry interval is 0. This method can be called with the // connection locked so we can't just retry here. // +#ifdef ICE_CPP11_MAPPING + _instance->retryQueue()->add(dynamic_pointer_cast<ProxyOutgoingAsyncBase>(shared_from_this()), + handleException(exc)); +#else _instance->retryQueue()->add(this, handleException(exc)); +#endif return false; } catch(const Exception& ex) @@ -136,7 +155,11 @@ ProxyOutgoingAsyncBase::retryException(const Exception& ex) // connection to be done. // _proxy->__updateRequestHandler(_handler, 0); // Clear request handler and always retry. +#ifdef ICE_CPP11_MAPPING + _instance->retryQueue()->add(dynamic_pointer_cast<ProxyOutgoingAsyncBase>(shared_from_this()), 0); +#else _instance->retryQueue()->add(this, 0); +#endif } catch(const Ice::Exception& exc) { @@ -155,7 +178,12 @@ ProxyOutgoingAsyncBase::cancelable(const CancellationHandlerPtr& handler) const int timeout = _cachedConnection->timeout(); if(timeout > 0) { +#ifdef ICE_CPP11_MAPPING + _instance->timer()->schedule(dynamic_pointer_cast<TimerTask>(shared_from_this()), + IceUtil::Time::milliSeconds(timeout)); +#else _instance->timer()->schedule(this, IceUtil::Time::milliSeconds(timeout)); +#endif } } AsyncResult::cancelable(handler); @@ -187,13 +215,20 @@ ProxyOutgoingAsyncBase::abort(const Ice::Exception& ex) } } -ProxyOutgoingAsyncBase::ProxyOutgoingAsyncBase(const ObjectPrx& prx, +#ifdef ICE_CPP11_MAPPING +ProxyOutgoingAsyncBase::ProxyOutgoingAsyncBase(const ObjectPrxPtr& prx, + const string& operation, + const CallbackBasePtr& delegate) : + OutgoingAsyncBase(prx->ice_getCommunicator(), prx->__reference()->getInstance(), operation, delegate), +#else +ProxyOutgoingAsyncBase::ProxyOutgoingAsyncBase(const ObjectPrxPtr& prx, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : OutgoingAsyncBase(prx->ice_getCommunicator(), prx->__reference()->getInstance(), operation, delegate, cookie), +#endif _proxy(prx), - _mode(Normal), + _mode(ICE_ENUM(OperationMode, Normal)), _cnt(0), _sent(false) { @@ -209,7 +244,12 @@ ProxyOutgoingAsyncBase::invokeImpl(bool userThread) int invocationTimeout = _proxy->__reference()->getInvocationTimeout(); if(invocationTimeout > 0) { +#ifdef ICE_CPP11_MAPPING + _instance->timer()->schedule(dynamic_pointer_cast<TimerTask>(shared_from_this()), + IceUtil::Time::milliSeconds(invocationTimeout)); +#else _instance->timer()->schedule(this, IceUtil::Time::milliSeconds(invocationTimeout)); +#endif } } else @@ -223,7 +263,12 @@ ProxyOutgoingAsyncBase::invokeImpl(bool userThread) { _sent = false; _handler = _proxy->__getRequestHandler(); +#ifdef ICE_CPP11_MAPPING + AsyncStatus status = _handler->sendAsyncRequest( + dynamic_pointer_cast<ProxyOutgoingAsyncBase>(shared_from_this())); +#else AsyncStatus status = _handler->sendAsyncRequest(this); +#endif if(status & AsyncStatusSent) { if(userThread) @@ -258,7 +303,12 @@ ProxyOutgoingAsyncBase::invokeImpl(bool userThread) int interval = handleException(ex); if(interval > 0) { +#ifdef ICE_CPP11_MAPPING + _instance->retryQueue()->add(dynamic_pointer_cast<ProxyOutgoingAsyncBase>(shared_from_this()), + interval); +#else _instance->retryQueue()->add(this, interval); +#endif return; } else @@ -293,7 +343,11 @@ ProxyOutgoingAsyncBase::sent(bool done) { if(_proxy->__reference()->getInvocationTimeout() != -1) { - _instance->timer()->cancel(this); +#ifdef ICE_CPP11_MAPPING + _instance->timer()->cancel(dynamic_pointer_cast<TimerTask>(shared_from_this())); +#else + _instance->timer()->cancel(this); +#endif } } return OutgoingAsyncBase::sent(done); @@ -304,7 +358,11 @@ ProxyOutgoingAsyncBase::finished(const Exception& ex) { if(_proxy->__reference()->getInvocationTimeout() != -1) { - _instance->timer()->cancel(this); +#ifdef ICE_CPP11_MAPPING + _instance->timer()->cancel(dynamic_pointer_cast<TimerTask>(shared_from_this())); +#else + _instance->timer()->cancel(this); +#endif } return OutgoingAsyncBase::finished(ex); } @@ -314,7 +372,11 @@ ProxyOutgoingAsyncBase::finished(bool ok) { if(_proxy->__reference()->getInvocationTimeout() != -1) { - _instance->timer()->cancel(this); +#ifdef ICE_CPP11_MAPPING + _instance->timer()->cancel(dynamic_pointer_cast<TimerTask>(shared_from_this())); +#else + _instance->timer()->cancel(this); +#endif } return AsyncResult::finished(ok); } @@ -338,11 +400,18 @@ ProxyOutgoingAsyncBase::runTimerTask() } } -OutgoingAsync::OutgoingAsync(const ObjectPrx& prx, +#ifdef ICE_CPP11_MAPPING +OutgoingAsync::OutgoingAsync(const ObjectPrxPtr& prx, + const string& operation, + const CallbackBasePtr& delegate) : + ProxyOutgoingAsyncBase(prx, operation, delegate), +#else +OutgoingAsync::OutgoingAsync(const ObjectPrxPtr& prx, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : ProxyOutgoingAsyncBase(prx, operation, delegate, cookie), +#endif _encoding(getCompatibleEncoding(prx->__reference()->getEncoding())) { } @@ -353,7 +422,7 @@ OutgoingAsync::prepare(const string& operation, OperationMode mode, const Contex checkSupportedProtocol(getCompatibleProtocol(_proxy->__reference()->getProtocol())); _mode = mode; - _observer.attach(_proxy.get(), operation, context); + _observer.attach(_proxy, operation, context); switch(_proxy->__reference()->getMode()) { @@ -394,7 +463,7 @@ OutgoingAsync::prepare(const string& operation, OperationMode mode, const Contex _os.write(static_cast<Byte>(_mode)); - if(context != 0) + if(context != &Ice::noExplicitContext) { // // Explicit context @@ -429,7 +498,11 @@ AsyncStatus OutgoingAsync::invokeRemote(const ConnectionIPtr& connection, bool compress, bool response) { _cachedConnection = connection; +#ifdef ICE_CPP11_MAPPING + return connection->sendAsyncRequest(dynamic_pointer_cast<OutgoingAsyncBase>(shared_from_this()), compress, response, 0); +#else return connection->sendAsyncRequest(this, compress, response, 0); +#endif } AsyncStatus @@ -620,13 +693,20 @@ OutgoingAsync::completed() } } -ProxyFlushBatchAsync::ProxyFlushBatchAsync(const ObjectPrx& proxy, +#ifdef ICE_CPP11_MAPPING +ProxyFlushBatchAsync::ProxyFlushBatchAsync(const ObjectPrxPtr& proxy, + const string& operation, + const CallbackBasePtr& delegate) : + ProxyOutgoingAsyncBase(proxy, operation, delegate) +#else +ProxyFlushBatchAsync::ProxyFlushBatchAsync(const ObjectPrxPtr& proxy, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : ProxyOutgoingAsyncBase(proxy, operation, delegate, cookie) +#endif { - _observer.attach(proxy.get(), operation, 0); + _observer.attach(proxy, operation, 0); _batchRequestNum = proxy->__getBatchRequestQueue()->swap(&_os); } @@ -645,7 +725,12 @@ ProxyFlushBatchAsync::invokeRemote(const ConnectionIPtr& connection, bool compre } } _cachedConnection = connection; +#ifdef ICE_CPP11_MAPPING + return connection->sendAsyncRequest(dynamic_pointer_cast<OutgoingAsyncBase>(shared_from_this()), + compress, false, _batchRequestNum); +#else return connection->sendAsyncRequest(this, compress, false, _batchRequestNum); +#endif } AsyncStatus @@ -672,13 +757,20 @@ ProxyFlushBatchAsync::invoke() invokeImpl(true); // userThread = true } -ProxyGetConnection::ProxyGetConnection(const ObjectPrx& prx, +#ifdef ICE_CPP11_MAPPING +ProxyGetConnection::ProxyGetConnection(const ObjectPrxPtr& prx, + const string& operation, + const CallbackBasePtr& delegate) : + ProxyOutgoingAsyncBase(prx, operation, delegate) +#else +ProxyGetConnection::ProxyGetConnection(const ObjectPrxPtr& prx, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : ProxyOutgoingAsyncBase(prx, operation, delegate, cookie) +#endif { - _observer.attach(prx.get(), operation, 0); + _observer.attach(prx, operation, 0); } AsyncStatus @@ -708,13 +800,23 @@ ProxyGetConnection::invoke() invokeImpl(true); // userThread = true } +#ifdef ICE_CPP11_MAPPING +ConnectionFlushBatchAsync::ConnectionFlushBatchAsync(const ConnectionIPtr& connection, + const CommunicatorPtr& communicator, + const InstancePtr& instance, + const string& operation, + const CallbackBasePtr& delegate) : + OutgoingAsyncBase(communicator, instance, operation, delegate), +#else ConnectionFlushBatchAsync::ConnectionFlushBatchAsync(const ConnectionIPtr& connection, const CommunicatorPtr& communicator, const InstancePtr& instance, const string& operation, const CallbackBasePtr& delegate, const LocalObjectPtr& cookie) : - OutgoingAsyncBase(communicator, instance, operation, delegate, cookie), _connection(connection) + OutgoingAsyncBase(communicator, instance, operation, delegate, cookie), +#endif + _connection(connection) { _observer.attach(instance.get(), operation); } @@ -742,7 +844,12 @@ ConnectionFlushBatchAsync::invoke() } else { +#ifdef ICE_CPP11_MAPPING + status = _connection->sendAsyncRequest( + dynamic_pointer_cast<OutgoingAsyncBase>(shared_from_this()), false, false, batchRequestNum); +#else status = _connection->sendAsyncRequest(this, false, false, batchRequestNum); +#endif } if(status & AsyncStatusSent) @@ -770,12 +877,20 @@ ConnectionFlushBatchAsync::invoke() } } +#ifdef ICE_CPP11_MAPPING +CommunicatorFlushBatchAsync::CommunicatorFlushBatchAsync(const CommunicatorPtr& communicator, + const InstancePtr& instance, + const string& operation, + const CallbackBasePtr& cb) : + AsyncResult(communicator, instance, operation, cb) +#else CommunicatorFlushBatchAsync::CommunicatorFlushBatchAsync(const CommunicatorPtr& communicator, const InstancePtr& instance, const string& operation, const CallbackBasePtr& cb, const LocalObjectPtr& cookie) : AsyncResult(communicator, instance, operation, cb, cookie) +#endif { _observer.attach(instance.get(), operation); @@ -797,7 +912,11 @@ CommunicatorFlushBatchAsync::flushConnection(const ConnectionIPtr& con) FlushBatch(const CommunicatorFlushBatchAsyncPtr& outAsync, const InstancePtr& instance, InvocationObserver& observer) : +#ifdef ICE_CPP11_MAPPING + OutgoingAsyncBase(outAsync->getCommunicator(), instance, outAsync->getOperation(), __dummyCallback), +#else OutgoingAsyncBase(outAsync->getCommunicator(), instance, outAsync->getOperation(), __dummyCallback, 0), +#endif _outAsync(outAsync), _observer(observer) { @@ -836,7 +955,12 @@ CommunicatorFlushBatchAsync::flushConnection(const ConnectionIPtr& con) try { +#ifdef ICE_CPP11_MAPPING + auto flushBatch = make_shared<FlushBatch>( + dynamic_pointer_cast<CommunicatorFlushBatchAsync>(shared_from_this()), _instance, _observer); +#else OutgoingAsyncBasePtr flushBatch = new FlushBatch(this, _instance, _observer); +#endif int batchRequestNum = con->getBatchRequestQueue()->swap(flushBatch->getOs()); if(batchRequestNum == 0) { @@ -885,3 +1009,248 @@ CommunicatorFlushBatchAsync::check(bool userThread) } } } + +#ifdef ICE_CPP11_MAPPING +OnewayClosureCallback::OnewayClosureCallback( + const string& name, + const shared_ptr<Ice::ObjectPrx>& proxy, + function<void ()> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent) : + __name(name), + __proxy(proxy), + __response(response), + __exception(exception), + __sent(sent) +{ +} + +void +OnewayClosureCallback::sent(const AsyncResultPtr& __result) const +{ + if(__sent) + { + __sent(__result->sentSynchronously()); + } +} + +bool +OnewayClosureCallback::hasSentCallback() const +{ + return __sent != nullptr; +} + +void +OnewayClosureCallback::completed(const AsyncResultPtr& __result) const +{ + try + { + AsyncResult::__check(__result, __proxy.get(), __name); + bool ok = __result->__wait(); + if(__proxy->__reference()->getMode() == Reference::ModeTwoway) + { + if(!ok) + { + try + { + __result->__throwUserException(); + } + catch(const UserException& __ex) + { + throw UnknownUserException(__FILE__, __LINE__, __ex.ice_name()); + } + } + __result->__readEmptyParams(); + if(__response) + { + try + { + __response(); + } + catch(...) + { + throw current_exception(); + } + } + } + } + catch(const exception_ptr& ex) + { + rethrow_exception(ex); + } + catch(const Ice::Exception&) + { + if(__exception) + { + __exception(current_exception()); + } + } +} + +function<void ()> +OnewayClosureCallback::invoke( + const string& __name, + const shared_ptr<Ice::ObjectPrx>& __proxy, + Ice::OperationMode __mode, + Ice::FormatType __format, + function<void (BasicStream*)> __marshal, + function<void ()> __response, + function<void (exception_ptr)> __exception, + function<void (bool)> __sent, + const Ice::Context& __context) +{ + auto __result = make_shared<OutgoingAsync>(__proxy, __name, + make_shared<OnewayClosureCallback>(__name, __proxy, move(__response), move(__exception), move(__sent))); + try + { + __result->prepare(__name, __mode, &__context); + if(__marshal) + { + __marshal(__result->startWriteParams(__format)); + __result->endWriteParams(); + } + else + { + __result->writeEmptyParams(); + } + __result->invoke(); + } + catch(const exception_ptr& ex) + { + rethrow_exception(ex); + } + catch(const Exception& __ex) + { + __result->abort(__ex); + } + + return [__result]() + { + __result->cancel(); + }; +} + +TwowayClosureCallback::TwowayClosureCallback( + const string& name, + const shared_ptr<Ice::ObjectPrx>& proxy, + bool readEmptyParams, + function<void (BasicStream*)> read, + function<void (const UserException&)> userException, + function<void (exception_ptr)> exception, + function<void (bool)> sent) : + __name(name), + __proxy(proxy), + __readEmptyParams(readEmptyParams), + __read(move(read)), + __userException(move(userException)), + __exception(move(exception)), + __sent(move(sent)) +{ +} + +void +TwowayClosureCallback::sent(const AsyncResultPtr& result) const +{ + if(__sent != nullptr) + { + __sent(result->sentSynchronously()); + } +} + +bool +TwowayClosureCallback::hasSentCallback() const +{ + return __sent != nullptr; +} + +void +TwowayClosureCallback::completed(const AsyncResultPtr& __result) const +{ + try + { + AsyncResult::__check(__result, __proxy.get(), __name); + if(!__result->__wait()) + { + try + { + __result->__throwUserException(); + } + catch(const Ice::UserException& __ex) + { + if(__userException) + { + __userException(__ex); + } + throw ::Ice::UnknownUserException(__FILE__, __LINE__, __ex.ice_name()); + } + } + else + { + if(__readEmptyParams) + { + __result->__readEmptyParams(); + __read(0); + } + else + { + __read(__result->__startReadParams()); + } + } + } + catch(const exception_ptr& ex) + { + rethrow_exception(ex); + } + catch(const Ice::Exception&) + { + if(__exception) + { + __exception(current_exception()); + } + } +} + +function<void ()> +TwowayClosureCallback::invoke( + const string& __name, + const shared_ptr<Ice::ObjectPrx>& __proxy, + OperationMode __mode, + FormatType __format, + function<void (BasicStream*)> __write, + bool __readEmptyParams, + function<void (BasicStream*)> __read, + function<void (const UserException&)> __userException, + function<void (exception_ptr)> __exception, + function<void (bool)> __sent, + const Context& __context) +{ + assert(__proxy); + auto __result = make_shared<OutgoingAsync>(__proxy, __name, + make_shared<TwowayClosureCallback>(__name, __proxy, __readEmptyParams, move(__read), + move(__userException), move(__exception), move(__sent))); + __proxy->__checkAsyncTwowayOnly(__name); + try + { + __result->prepare(__name, __mode, &__context); + if(__write) + { + __write(__result->startWriteParams(__format)); + __result->endWriteParams(); + } + else + { + __result->writeEmptyParams(); + } + __result->invoke(); + } + catch(const Exception& __ex) + { + __result->abort(__ex); + } + + return [__result]() + { + __result->cancel(); + }; +} +#endif diff --git a/cpp/src/Ice/PluginManagerI.cpp b/cpp/src/Ice/PluginManagerI.cpp index e3186298a9c..f0bf409c3f4 100644 --- a/cpp/src/Ice/PluginManagerI.cpp +++ b/cpp/src/Ice/PluginManagerI.cpp @@ -440,7 +440,6 @@ Ice::PluginManagerI::loadPlugin(const string& name, const string& pluginSpec, St cmdArgs = properties->parseCommandLineOptions(name, cmdArgs); } - PluginPtr plugin; PLUGIN_FACTORY factory = 0; DynamicLibraryPtr library; @@ -487,7 +486,7 @@ Ice::PluginManagerI::loadPlugin(const string& name, const string& pluginSpec, St // Invoke the factory function. No exceptions can be raised // by the factory function because it's declared extern "C". // - plugin = factory(_communicator, name, args); + PluginPtr plugin(factory(_communicator, name, args)); if(!plugin) { PluginInitializationException e(__FILE__, __LINE__); diff --git a/cpp/src/Ice/PluginManagerI.h b/cpp/src/Ice/PluginManagerI.h index ef9a1dd9275..97aa03990a6 100644 --- a/cpp/src/Ice/PluginManagerI.h +++ b/cpp/src/Ice/PluginManagerI.h @@ -34,10 +34,10 @@ public: virtual PluginPtr getPlugin(const std::string&); virtual void addPlugin(const std::string&, const PluginPtr&); virtual void destroy(); + PluginManagerI(const CommunicatorPtr&, const IceInternal::DynamicLibraryListPtr&); private: - PluginManagerI(const CommunicatorPtr&, const IceInternal::DynamicLibraryListPtr&); friend class IceInternal::Instance; void loadPlugins(int&, char*[]); diff --git a/cpp/src/Ice/PropertiesAdminI.cpp b/cpp/src/Ice/PropertiesAdminI.cpp index 58095fbf0dc..4cd90f614ba 100644 --- a/cpp/src/Ice/PropertiesAdminI.cpp +++ b/cpp/src/Ice/PropertiesAdminI.cpp @@ -44,8 +44,15 @@ PropertiesAdminI::getPropertiesForPrefix(const string& prefix, const Current&) } void +#ifdef ICE_CPP11_MAPPING +PropertiesAdminI::setProperties_async(const PropertyDict& props, + function<void ()> response, + function<void (const ::std::exception_ptr&)>, + const Current&) +#else PropertiesAdminI::setProperties_async(const AMD_PropertiesAdmin_setPropertiesPtr& cb, const PropertyDict& props, - const Current&) + const Current&) +#endif { Lock sync(*this); @@ -164,7 +171,11 @@ PropertiesAdminI::setProperties_async(const AMD_PropertiesAdmin_setPropertiesPtr // Send the response now so that we do not block the client during // the call to the update callback. // +#ifdef ICE_CPP11_MAPPING + response(); +#else cb->ice_response(); +#endif // // Copy the callbacks to allow callbacks to update the callbacks. diff --git a/cpp/src/Ice/PropertiesAdminI.h b/cpp/src/Ice/PropertiesAdminI.h index 46553e06b1d..789a6aee6d5 100644 --- a/cpp/src/Ice/PropertiesAdminI.h +++ b/cpp/src/Ice/PropertiesAdminI.h @@ -27,7 +27,13 @@ public: virtual std::string getProperty(const std::string&, const Ice::Current&); virtual Ice::PropertyDict getPropertiesForPrefix(const std::string&, const Ice::Current&); + +#ifdef ICE_CPP11_MAPPING + virtual void setProperties_async(const ::Ice::PropertyDict&, ::std::function<void ()>, + ::std::function<void (const ::std::exception_ptr&)>, const Ice::Current&); +#else virtual void setProperties_async(const Ice::AMD_PropertiesAdmin_setPropertiesPtr&, const Ice::PropertyDict&, const Ice::Current&); +#endif virtual void addUpdateCallback(const Ice::PropertiesAdminUpdateCallbackPtr&); virtual void removeUpdateCallback(const Ice::PropertiesAdminUpdateCallbackPtr&); @@ -38,7 +44,7 @@ private: const Ice::LoggerPtr _logger; std::vector<Ice::PropertiesAdminUpdateCallbackPtr> _updateCallbacks; }; -typedef IceUtil::Handle<PropertiesAdminI> PropertiesAdminIPtr; +ICE_DEFINE_PTR(PropertiesAdminIPtr, PropertiesAdminI); } diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp index 83c120f5607..136596187c1 100644 --- a/cpp/src/Ice/PropertiesI.cpp +++ b/cpp/src/Ice/PropertiesI.cpp @@ -435,7 +435,7 @@ PropertiesPtr Ice::PropertiesI::clone() { IceUtil::Mutex::Lock sync(*this); - return new PropertiesI(this); + return ICE_MAKE_SHARED(PropertiesI, this); } set<string> diff --git a/cpp/src/Ice/PropertiesI.h b/cpp/src/Ice/PropertiesI.h index d3b1bcee3c5..e4190cdf7da 100644 --- a/cpp/src/Ice/PropertiesI.h +++ b/cpp/src/Ice/PropertiesI.h @@ -19,10 +19,11 @@ namespace Ice { -class PropertiesI : public Properties, public IceUtil::Mutex +class PropertiesI : public Properties, + public IceUtil::Mutex { public: - + virtual std::string getProperty(const std::string&); virtual std::string getPropertyWithDefault(const std::string&, const std::string&); virtual Ice::Int getPropertyAsInt(const std::string&); @@ -40,10 +41,11 @@ public: std::set<std::string> getUnusedProperties(); + PropertiesI(const PropertiesI*); + private: PropertiesI(const IceUtil::StringConverterPtr&); PropertiesI(StringSeq&, const PropertiesPtr&, const IceUtil::StringConverterPtr&); - PropertiesI(const PropertiesI*); friend ICE_API PropertiesPtr createProperties(); friend ICE_API PropertiesPtr createProperties(StringSeq&, const PropertiesPtr&); diff --git a/cpp/src/Ice/Protocol.cpp b/cpp/src/Ice/Protocol.cpp index 01f35c19a04..91f07b40ae9 100644 --- a/cpp/src/Ice/Protocol.cpp +++ b/cpp/src/Ice/Protocol.cpp @@ -121,11 +121,11 @@ namespace Ice const EncodingVersion currentEncoding = { IceInternal::encodingMajor, IceInternal::encodingMinor }; const ProtocolVersion currentProtocol = { IceInternal::protocolMajor, IceInternal::protocolMinor }; - // // The encoding to use for protocol messages, this version is tied to // the protocol version. // + const EncodingVersion currentProtocolEncoding = { IceInternal::protocolEncodingMajor, IceInternal::protocolEncodingMinor }; diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 48e85f9dc36..58b91db04ca 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -29,6 +29,11 @@ using namespace std; using namespace Ice; using namespace IceInternal; +namespace Ice +{ +const Context noExplicitContext; +} + namespace { @@ -42,12 +47,487 @@ const string ice_flushBatchRequests_name = "ice_flushBatchRequests"; } -::Ice::ObjectPrx -IceInternal::checkedCastImpl(const ObjectPrx& b, const string& f, const string& typeId, const Context* context) +#ifdef ICE_CPP11_MAPPING // C++11 mapping + +bool +Ice::ObjectPrx::operator==(const ObjectPrx& r) const +{ + return _reference == r._reference; +} + +bool +Ice::ObjectPrx::operator!=(const ObjectPrx& r) const +{ + return _reference != r._reference; +} + +bool +Ice::ObjectPrx::operator<(const ObjectPrx& r) const { - if(b) + return _reference < r._reference; +} + +bool +Ice::ObjectPrx::ice_isA(const string& typeId, const ::Ice::Context& context) +{ + promise<bool> p; + ice_isA_async(typeId, + [&](bool value) + { + p.set_value(value); + }, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + nullptr, context); + return p.get_future().get(); +} + +function<void()> +Ice::ObjectPrx::ice_isA_async(const string& typeId, + function<void (bool)> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent, + const ::Ice::Context& context) +{ + return TwowayClosureCallback::invoke(ice_isA_name, shared_from_this(), OperationMode::Nonmutating, DefaultFormat, + [&typeId](IceInternal::BasicStream* os) + { + os->write(typeId); + }, + false, + [response = move(response)](IceInternal::BasicStream* is) + { + bool ret; + is->read(ret); + is->endReadEncaps(); + if(response) + { + response(ret); + } + }, + nullptr, move(exception), move(sent), context); +} + +void +Ice::ObjectPrx::ice_ping(const ::Ice::Context& context) +{ + switch(_reference->getMode()) { - ObjectPrx bb = b->ice_facet(f); + case Reference::ModeTwoway: + { + promise<void> p; + ice_ping_async( + [&]() + { + p.set_value(); + }, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + nullptr, context); + p.get_future().get(); + break; + } + case Reference::ModeOneway: + case Reference::ModeDatagram: + { + promise<void> p; + ice_ping_async( + nullptr, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + [&](bool) + { + p.set_value(); + }, + context); + p.get_future().get(); + break; + } + case Reference::ModeBatchOneway: + case Reference::ModeBatchDatagram: + { + ice_ping_async(nullptr, nullptr, nullptr, context); + } + } +} + +function<void()> +Ice::ObjectPrx::ice_ping_async(function<void ()> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent, + const ::Ice::Context& context) +{ + return OnewayClosureCallback::invoke(ice_ping_name, shared_from_this(), OperationMode::Nonmutating, DefaultFormat, + nullptr, response, exception, sent, context); +} + +string +Ice::ObjectPrx::ice_id(const ::Ice::Context& context) +{ + promise<string> p; + ice_id_async( + [&](string id) + { + p.set_value(move(id)); + }, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + nullptr, context); + return p.get_future().get(); +} + +function<void()> +Ice::ObjectPrx::ice_id_async(function<void (string)> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent, + const ::Ice::Context& context) +{ + return TwowayClosureCallback::invoke( + ice_id_name, shared_from_this(), OperationMode::Nonmutating, DefaultFormat, nullptr, false, + [response](IceInternal::BasicStream* is) + { + string ret; + is->read(ret); + is->endReadEncaps(); + if(response) + { + response(move(ret)); + } + }, + nullptr, exception, sent, context); +} + + +vector<string> +Ice::ObjectPrx::ice_ids(const ::Ice::Context& context) +{ + promise<vector<string>> p; + ice_ids_async( + [&](vector<string> ids) + { + p.set_value(move(ids)); + }, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + nullptr, context); + return p.get_future().get(); +} + +function<void()> +Ice::ObjectPrx::ice_ids_async(function<void (vector<string>)> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent, + const ::Ice::Context& context) +{ + return TwowayClosureCallback::invoke( + ice_ids_name, shared_from_this(), OperationMode::Nonmutating, DefaultFormat, nullptr, false, + [response](IceInternal::BasicStream* is) + { + vector<string> ret; + is->read(ret); + is->endReadEncaps(); + if(response) + { + response(move(ret)); + } + }, + nullptr, exception, sent, context); +} + +function<void ()> +Ice::ObjectPrx::ice_getConnection_async( + function<void (shared_ptr<::Ice::Connection>)> response, + function<void (exception_ptr)> exception) +{ + + class ConnectionCallback : public CallbackBase + { + public: + + ConnectionCallback(function<void (shared_ptr<::Ice::Connection>)> response, + function<void (exception_ptr)> exception, + shared_ptr<ObjectPrx> proxy) : + _response(move(response)), + _exception(move(exception)), + _proxy(move(proxy)) + { + } + + virtual void sent(const AsyncResultPtr&) const {} + + virtual bool hasSentCallback() const + { + return false; + } + + + virtual void + completed(const ::Ice::AsyncResultPtr& result) const + { + shared_ptr<::Ice::Connection> conn; + try + { + AsyncResult::__check(result, _proxy.get(), ice_getConnection_name); + result->__wait(); + conn = _proxy->ice_getCachedConnection(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + + if(_response) + { + _response(move(conn)); + } + } + + private: + + function<void (shared_ptr<::Ice::Connection>)> _response; + function<void (exception_ptr)> _exception; + shared_ptr<ObjectPrx> _proxy; + }; + + + auto result = make_shared<ProxyGetConnection>(shared_from_this(), ice_getConnection_name, + make_shared<ConnectionCallback>(move(response), move(exception), shared_from_this())); + try + { + result->invoke(); + } + catch(const Exception& ex) + { + result->abort(ex); + } + + return [result]() + { + result->cancel(); + }; +} + +void +Ice::ObjectPrx::ice_flushBatchRequests() +{ + promise<void> p; + ice_flushBatchRequests_async( + [&](exception_ptr ex) + { + p.set_exception(ex); + }, + [&](bool) + { + p.set_value(); + }); + p.get_future().get(); +} + +function<void ()> +Ice::ObjectPrx::ice_flushBatchRequests_async(function<void (exception_ptr)> exception, function<void (bool)> sent) +{ + class FlushBatchRequestsCallback : public CallbackBase + { + public: + + FlushBatchRequestsCallback(function<void (exception_ptr)> exception, + function<void (bool)> sent, + shared_ptr<ObjectPrx> proxy) : + _exception(move(exception)), + _sent(move(sent)), + _proxy(move(proxy)) + { + } + + virtual void sent(const AsyncResultPtr& result) const + { + try + { + AsyncResult::__check(result, _proxy.get(), ice_flushBatchRequests_name); + result->__wait(); + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + + if(_sent) + { + _sent(result->sentSynchronously()); + } + } + + virtual bool hasSentCallback() const + { + return true; + } + + + virtual void + completed(const ::Ice::AsyncResultPtr&) const + { + } + + private: + + function<void (exception_ptr)> _exception; + function<void (bool)> _sent; + shared_ptr<ObjectPrx> _proxy; + }; + + auto result = make_shared<ProxyFlushBatchAsync>(shared_from_this(), ice_flushBatchRequests_name, + make_shared<FlushBatchRequestsCallback>(exception, sent, shared_from_this())); + try + { + result->invoke(); + } + catch(const Exception& ex) + { + result->abort(ex); + } + return [result]() + { + result->cancel(); + }; +} + +bool +Ice::ObjectPrx::ice_invoke(const string& operation, + ::Ice::OperationMode mode, + const vector<::Ice::Byte>& inParams, + vector<::Ice::Byte>& pOutParams, + const ::Ice::Context& context) +{ + promise<bool> p; + ice_invoke_async(operation, mode, inParams, + [&](bool ok, vector<::Ice::Byte> outParams) + { + pOutParams = move(outParams); + p.set_value(ok); + }, + [&](exception_ptr ex) + { + p.set_exception(move(ex)); + }, + nullptr, context); + return p.get_future().get(); +} + +function<void ()> +Ice::ObjectPrx::ice_invoke_async(const string& operation, ::Ice::OperationMode mode, + const vector<::Ice::Byte>& inEncaps, + function<void (bool, vector<::Ice::Byte>)> response, + function<void (exception_ptr)> exception, + function<void (bool)> sent, + const ::Ice::Context& context) +{ + class InvokeCallback : public CallbackBase + { + public: + + InvokeCallback(function<void (bool, vector<::Ice::Byte>)> response, + function<void (exception_ptr)> exception, + shared_ptr<ObjectPrx> proxy) : + _response(move(response)), + _exception(move(exception)), + _proxy(move(proxy)) + { + } + + virtual void sent(const AsyncResultPtr&) const {} + + virtual bool hasSentCallback() const + { + return false; + } + + + virtual void + completed(const ::Ice::AsyncResultPtr& result) const + { + try + { + AsyncResult::__check(result, _proxy.get(), ice_invoke_name); + bool ok = result->__wait(); + if(_proxy->_reference->getMode() == Reference::ModeTwoway) + { + const Byte* v; + Int sz; + result->__readParamEncaps(v, sz); + if(_response) + { + _response(ok, vector<Byte>(v, v + sz)); + } + } + } + catch(const ::Ice::Exception&) + { + _exception(current_exception()); + } + } + + private: + + function<void (bool, vector<::Ice::Byte>)> _response; + function<void (exception_ptr)> _exception; + shared_ptr<ObjectPrx> _proxy; + }; + + auto result = make_shared<OutgoingAsync>(shared_from_this(), ice_invoke_name, + make_shared<InvokeCallback>(move(response), move(exception), shared_from_this())); + try + { + result->prepare(operation, mode, &context); + + pair<const Byte*, const Byte*> inPair; + if(inEncaps.empty()) + { + inPair.first = inPair.second = 0; + } + else + { + inPair.first = &inEncaps[0]; + inPair.second = inPair.first + inEncaps.size(); + } + + result->writeParamEncaps(&inEncaps[0], static_cast<Int>(inPair.second - inPair.first)); + result->invoke(); + } + catch(const Exception& ex) + { + result->abort(ex); + } + + return [result]() + { + result->cancel(); + }; +} + +shared_ptr<ObjectPrx> +Ice::ObjectPrx::__newInstance() const +{ + return make_shared<ObjectPrx>(); +} + +#else // C++98 mapping + +::Ice::ObjectPrxPtr +IceInternal::checkedCastImpl(const ObjectPrxPtr& b, const string& f, const string& typeId, const Context* context) +{ + if(b != ICE_NULLPTR) + { + ObjectPrxPtr bb = b->ice_facet(f); try { if(context == 0 ? bb->ice_isA(typeId) : bb->ice_isA(typeId, *context)) @@ -65,10 +545,10 @@ IceInternal::checkedCastImpl(const ObjectPrx& b, const string& f, const string& { } } - return 0; + return ICE_NULLPTR; } -#ifdef ICE_CPP11 +#ifdef ICE_CPP11_COMPILER IceInternal::Cpp11FnCallbackNC::Cpp11FnCallbackNC(const ::std::function<void (const ::Ice::Exception&)>& excb, const ::std::function<void (bool)>& sentcb) : @@ -153,24 +633,6 @@ IceProxy::Ice::Object::operator<(const Object& r) const return _reference < r._reference; } -CommunicatorPtr -IceProxy::Ice::Object::ice_getCommunicator() const -{ - return _reference->getCommunicator(); -} - -string -IceProxy::Ice::Object::ice_toString() const -{ - // - // Returns the stringified proxy. There's no need to convert the - // string to a native string: a stringified proxy only contains - // printable ASCII which is a subset of all native character sets. - // - return _reference->toString(); -} - - bool IceProxy::Ice::Object::ice_isA(const string& typeId, const Context* context) { @@ -227,7 +689,7 @@ IceProxy::Ice::Object::begin_ice_isA(const string& typeId, return __result; } -#ifdef ICE_CPP11 +#ifdef ICE_CPP11_COMPILER Ice::AsyncResultPtr IceProxy::Ice::Object::__begin_ice_isA(const ::std::string& typeId, @@ -838,14 +1300,199 @@ IceProxy::Ice::Object::___end_ice_invoke(pair<const Byte*, const Byte*>& outEnca return ok; } +::Ice::AsyncResultPtr +IceProxy::Ice::Object::begin_ice_flushBatchRequestsInternal(const ::IceInternal::CallbackBasePtr& del, + const ::Ice::LocalObjectPtr& cookie) +{ + ProxyFlushBatchAsyncPtr result = new ProxyFlushBatchAsync(this, ice_flushBatchRequests_name, del, cookie); + try + { + result->invoke(); + } + catch(const Exception& ex) + { + result->abort(ex); + } + return result; +} + +void +IceProxy::Ice::Object::end_ice_flushBatchRequests(const AsyncResultPtr& result) +{ + AsyncResult::__check(result, this, ice_flushBatchRequests_name); + result->__wait(); +} + +Int +IceProxy::Ice::Object::__hash() const +{ + return _reference->hash(); +} + +void +IceProxy::Ice::Object::__invoke(Outgoing& __og) const +{ + // + // Helper for operations without out/return parameters and user + // exceptions. + // + + bool __ok = __og.invoke(); + if(__og.hasResponse()) + { + if(!__ok) + { + try + { + __og.throwUserException(); + } + catch(const ::Ice::UserException& __ex) + { + ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name()); + throw __uue; + } + } + __og.readEmptyParams(); + } +} + +void +IceProxy::Ice::Object::__end(const ::Ice::AsyncResultPtr& __result, const std::string& operation) const +{ + AsyncResult::__check(__result, this, operation); + bool __ok = __result->__wait(); + if(_reference->getMode() == Reference::ModeTwoway) + { + if(!__ok) + { + try + { + __result->__throwUserException(); + } + catch(const UserException& __ex) + { + throw UnknownUserException(__FILE__, __LINE__, __ex.ice_name()); + } + } + __result->__readEmptyParams(); + } +} + +namespace IceProxy +{ + +namespace Ice +{ + +ostream& +operator<<(ostream& os, const ::IceProxy::Ice::Object& p) +{ + return os << p.ice_toString(); +} + +} + +} + +IceProxy::Ice::Object* +IceProxy::Ice::Object::__newInstance() const +{ + return new Object; +} + +AsyncResultPtr +IceProxy::Ice::Object::begin_ice_getConnectionInternal(const ::IceInternal::CallbackBasePtr& del, + const ::Ice::LocalObjectPtr& cookie) +{ + ProxyGetConnectionPtr result = new ProxyGetConnection(this, ice_getConnection_name, del, cookie); + try + { + result->invoke(); + } + catch(const Exception& ex) + { + result->abort(ex); + } + return result; +} + +ConnectionPtr +IceProxy::Ice::Object::end_ice_getConnection(const AsyncResultPtr& __result) +{ + AsyncResult::__check(__result, this, ice_getConnection_name); + __result->__wait(); + return ice_getCachedConnection(); +} + +void +IceProxy::Ice::Object::ice_flushBatchRequests() +{ + ProxyFlushBatch og(ICE_SHARED_FROM_THIS, ice_flushBatchRequests_name); + og.invoke(); +} + +void +IceProxy::Ice::Object::__checkTwowayOnly(const string& name) const +{ + // + // No mutex lock necessary, there is nothing mutable in this operation. + // + if(!ice_isTwoway()) + { + TwowayOnlyException ex(__FILE__, __LINE__); + ex.operation = name; + throw ex; + } +} + +void +Ice::ice_writeObjectPrx(const OutputStreamPtr& out, const ObjectPrxPtr& v) +{ + out->write(v); +} + +void +Ice::ice_readObjectPrx(const InputStreamPtr& in, ObjectPrxPtr& v) +{ + in->read(v); +} + +#endif + +#ifdef ICE_CPP11_MAPPING +# define ICE_OBJECT_PRX Ice::ObjectPrx +# define CONST_POINTER_CAST_OBJECT_PRX const_pointer_cast<ObjectPrx>(shared_from_this()) +#else +# define ICE_OBJECT_PRX IceProxy::Ice::Object +# define CONST_POINTER_CAST_OBJECT_PRX ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)) +#endif + +// +// methods common for both C++11/C++98 mappings +// + +void +ICE_OBJECT_PRX::__checkAsyncTwowayOnly(const string& name) const +{ + // + // No mutex lock necessary, there is nothing mutable in this operation. + // + if(!ice_isTwoway()) + { + throw IceUtil::IllegalArgumentException(__FILE__, + __LINE__, + "`" + name + "' can only be called with a twoway proxy"); + } +} + Identity -IceProxy::Ice::Object::ice_getIdentity() const +ICE_OBJECT_PRX::ice_getIdentity() const { return _reference->getIdentity(); } -ObjectPrx -IceProxy::Ice::Object::ice_identity(const Identity& newIdentity) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_identity(const Identity& newIdentity) const { if(newIdentity.name.empty()) { @@ -853,113 +1500,121 @@ IceProxy::Ice::Object::ice_identity(const Identity& newIdentity) const } if(newIdentity == _reference->getIdentity()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = new Object; +#ifdef ICE_CPP11_MAPPING + auto proxy = make_shared<ObjectPrx>(); +#else + ObjectPrxPtr proxy = new IceProxy::Ice::Object; +#endif proxy->setup(_reference->changeIdentity(newIdentity)); return proxy; } } Context -IceProxy::Ice::Object::ice_getContext() const +ICE_OBJECT_PRX::ice_getContext() const { return _reference->getContext()->getValue(); } -ObjectPrx -IceProxy::Ice::Object::ice_context(const Context& newContext) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_context(const Context& newContext) const { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeContext(newContext)); return proxy; } const string& -IceProxy::Ice::Object::ice_getFacet() const +ICE_OBJECT_PRX::ice_getFacet() const { return _reference->getFacet(); } -ObjectPrx -IceProxy::Ice::Object::ice_facet(const string& newFacet) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_facet(const string& newFacet) const { if(newFacet == _reference->getFacet()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = new Object; +#ifdef ICE_CPP11_MAPPING + auto proxy = make_shared<ObjectPrx>(); +#else + ObjectPrx proxy = new IceProxy::Ice::Object; +#endif proxy->setup(_reference->changeFacet(newFacet)); return proxy; } } string -IceProxy::Ice::Object::ice_getAdapterId() const +ICE_OBJECT_PRX::ice_getAdapterId() const { return _reference->getAdapterId(); } -ObjectPrx -IceProxy::Ice::Object::ice_adapterId(const string& newAdapterId) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_adapterId(const string& newAdapterId) const { if(newAdapterId == _reference->getAdapterId()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeAdapterId(newAdapterId)); return proxy; } } EndpointSeq -IceProxy::Ice::Object::ice_getEndpoints() const +ICE_OBJECT_PRX::ice_getEndpoints() const { vector<EndpointIPtr> endpoints = _reference->getEndpoints(); EndpointSeq retSeq; for(vector<EndpointIPtr>::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p) { - retSeq.push_back(EndpointPtr::dynamicCast(*p)); + retSeq.push_back(ICE_DYNAMIC_CAST(Endpoint, *p)); } return retSeq; } -ObjectPrx -IceProxy::Ice::Object::ice_endpoints(const EndpointSeq& newEndpoints) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_endpoints(const EndpointSeq& newEndpoints) const { vector<EndpointIPtr> endpoints; for(EndpointSeq::const_iterator p = newEndpoints.begin(); p != newEndpoints.end(); ++p) { - endpoints.push_back(EndpointIPtr::dynamicCast(*p)); + endpoints.push_back(ICE_DYNAMIC_CAST(EndpointI, *p)); } if(endpoints == _reference->getEndpoints()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeEndpoints(endpoints)); return proxy; } } Int -IceProxy::Ice::Object::ice_getLocatorCacheTimeout() const +ICE_OBJECT_PRX::ice_getLocatorCacheTimeout() const { return _reference->getLocatorCacheTimeout(); } -ObjectPrx -IceProxy::Ice::Object::ice_locatorCacheTimeout(Int newTimeout) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_locatorCacheTimeout(Int newTimeout) const { if(newTimeout < -1) { @@ -969,196 +1624,204 @@ IceProxy::Ice::Object::ice_locatorCacheTimeout(Int newTimeout) const } if(newTimeout == _reference->getLocatorCacheTimeout()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeLocatorCacheTimeout(newTimeout)); return proxy; } } bool -IceProxy::Ice::Object::ice_isConnectionCached() const +ICE_OBJECT_PRX::ice_isConnectionCached() const { return _reference->getCacheConnection(); } -ObjectPrx -IceProxy::Ice::Object::ice_connectionCached(bool newCache) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_connectionCached(bool newCache) const { if(newCache == _reference->getCacheConnection()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeCacheConnection(newCache)); return proxy; } } EndpointSelectionType -IceProxy::Ice::Object::ice_getEndpointSelection() const +ICE_OBJECT_PRX::ice_getEndpointSelection() const { return _reference->getEndpointSelection(); } -ObjectPrx -IceProxy::Ice::Object::ice_endpointSelection(EndpointSelectionType newType) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_endpointSelection(EndpointSelectionType newType) const { if(newType == _reference->getEndpointSelection()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeEndpointSelection(newType)); return proxy; } } bool -IceProxy::Ice::Object::ice_isSecure() const +ICE_OBJECT_PRX::ice_isSecure() const { return _reference->getSecure(); } -ObjectPrx -IceProxy::Ice::Object::ice_secure(bool b) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_secure(bool b) const { if(b == _reference->getSecure()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeSecure(b)); return proxy; } } ::Ice::EncodingVersion -IceProxy::Ice::Object::ice_getEncodingVersion() const +ICE_OBJECT_PRX::ice_getEncodingVersion() const { return _reference->getEncoding(); } -ObjectPrx -IceProxy::Ice::Object::ice_encodingVersion(const ::Ice::EncodingVersion& encoding) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_encodingVersion(const ::Ice::EncodingVersion& encoding) const { if(encoding == _reference->getEncoding()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeEncoding(encoding)); return proxy; } } bool -IceProxy::Ice::Object::ice_isPreferSecure() const +ICE_OBJECT_PRX::ice_isPreferSecure() const { return _reference->getPreferSecure(); } -ObjectPrx -IceProxy::Ice::Object::ice_preferSecure(bool b) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_preferSecure(bool b) const { if(b == _reference->getPreferSecure()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changePreferSecure(b)); return proxy; } } -RouterPrx -IceProxy::Ice::Object::ice_getRouter() const +RouterPrxPtr +ICE_OBJECT_PRX::ice_getRouter() const { RouterInfoPtr ri = _reference->getRouterInfo(); - return ri ? ri->getRouter() : RouterPrx(); +#ifdef ICE_CPP11_MAPPING + return ri ? ri->getRouter() : nullptr; +#else + return ri ? ri->getRouter() : RouterPrxPtr(); +#endif } -ObjectPrx -IceProxy::Ice::Object::ice_router(const RouterPrx& router) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_router(const RouterPrxPtr& router) const { ReferencePtr ref = _reference->changeRouter(router); if(ref == _reference) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(ref); return proxy; } } -LocatorPrx -IceProxy::Ice::Object::ice_getLocator() const +LocatorPrxPtr +ICE_OBJECT_PRX::ice_getLocator() const { LocatorInfoPtr ri = _reference->getLocatorInfo(); - return ri ? ri->getLocator() : LocatorPrx(); +#ifdef ICE_CPP11_MAPPING + return ri ? ri->getLocator() : nullptr; +#else + return ri ? ri->getLocator() : LocatorPrxPtr(); +#endif } -ObjectPrx -IceProxy::Ice::Object::ice_locator(const LocatorPrx& locator) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_locator(const LocatorPrxPtr& locator) const { ReferencePtr ref = _reference->changeLocator(locator); if(ref == _reference) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(ref); return proxy; } } bool -IceProxy::Ice::Object::ice_isCollocationOptimized() const +ICE_OBJECT_PRX::ice_isCollocationOptimized() const { return _reference->getCollocationOptimized(); } -ObjectPrx -IceProxy::Ice::Object::ice_collocationOptimized(bool b) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_collocationOptimized(bool b) const { if(b == _reference->getCollocationOptimized()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeCollocationOptimized(b)); return proxy; } } Int -IceProxy::Ice::Object::ice_getInvocationTimeout() const +ICE_OBJECT_PRX::ice_getInvocationTimeout() const { return _reference->getInvocationTimeout(); } -ObjectPrx -IceProxy::Ice::Object::ice_invocationTimeout(Int newTimeout) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_invocationTimeout(Int newTimeout) const { if(newTimeout < 1 && newTimeout != -1 && newTimeout != -2) { @@ -1168,139 +1831,139 @@ IceProxy::Ice::Object::ice_invocationTimeout(Int newTimeout) const } if(newTimeout == _reference->getInvocationTimeout()) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeInvocationTimeout(newTimeout)); return proxy; } } -ObjectPrx -IceProxy::Ice::Object::ice_twoway() const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_twoway() const { if(_reference->getMode() == Reference::ModeTwoway) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeMode(Reference::ModeTwoway)); return proxy; } } bool -IceProxy::Ice::Object::ice_isTwoway() const +ICE_OBJECT_PRX::ice_isTwoway() const { return _reference->getMode() == Reference::ModeTwoway; } -ObjectPrx -IceProxy::Ice::Object::ice_oneway() const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_oneway() const { if(_reference->getMode() == Reference::ModeOneway) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeMode(Reference::ModeOneway)); return proxy; } } bool -IceProxy::Ice::Object::ice_isOneway() const +ICE_OBJECT_PRX::ice_isOneway() const { return _reference->getMode() == Reference::ModeOneway; } -ObjectPrx -IceProxy::Ice::Object::ice_batchOneway() const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_batchOneway() const { if(_reference->getMode() == Reference::ModeBatchOneway) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeMode(Reference::ModeBatchOneway)); return proxy; } } bool -IceProxy::Ice::Object::ice_isBatchOneway() const +ICE_OBJECT_PRX::ice_isBatchOneway() const { return _reference->getMode() == Reference::ModeBatchOneway; } -ObjectPrx -IceProxy::Ice::Object::ice_datagram() const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_datagram() const { if(_reference->getMode() == Reference::ModeDatagram) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeMode(Reference::ModeDatagram)); return proxy; } } bool -IceProxy::Ice::Object::ice_isDatagram() const +ICE_OBJECT_PRX::ice_isDatagram() const { return _reference->getMode() == Reference::ModeDatagram; } -ObjectPrx -IceProxy::Ice::Object::ice_batchDatagram() const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_batchDatagram() const { if(_reference->getMode() == Reference::ModeBatchDatagram) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(_reference->changeMode(Reference::ModeBatchDatagram)); return proxy; } } bool -IceProxy::Ice::Object::ice_isBatchDatagram() const +ICE_OBJECT_PRX::ice_isBatchDatagram() const { return _reference->getMode() == Reference::ModeBatchDatagram; } -ObjectPrx -IceProxy::Ice::Object::ice_compress(bool b) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_compress(bool b) const { ReferencePtr ref = _reference->changeCompress(b); if(ref == _reference) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(ref); return proxy; } } -ObjectPrx -IceProxy::Ice::Object::ice_timeout(int t) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_timeout(int t) const { if(t < 1 && t != -1) { @@ -1311,42 +1974,42 @@ IceProxy::Ice::Object::ice_timeout(int t) const ReferencePtr ref = _reference->changeTimeout(t); if(ref == _reference) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(ref); return proxy; } } -ObjectPrx -IceProxy::Ice::Object::ice_connectionId(const string& id) const +ObjectPrxPtr +ICE_OBJECT_PRX::ice_connectionId(const string& id) const { ReferencePtr ref = _reference->changeConnectionId(id); if(ref == _reference) { - return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + return CONST_POINTER_CAST_OBJECT_PRX; } else { - ObjectPrx proxy = __newInstance(); + ObjectPrxPtr proxy = __newInstance(); proxy->setup(ref); return proxy; } } string -IceProxy::Ice::Object::ice_getConnectionId() const +ICE_OBJECT_PRX::ice_getConnectionId() const { return _reference->getConnectionId(); } ConnectionPtr -IceProxy::Ice::Object::ice_getConnection() +ICE_OBJECT_PRX::ice_getConnection() { - InvocationObserver observer(this, "ice_getConnection", 0); + InvocationObserver observer(ICE_SHARED_FROM_THIS, "ice_getConnection", 0); int cnt = 0; while(true) { @@ -1364,7 +2027,7 @@ IceProxy::Ice::Object::ice_getConnection() { try { - int interval = __handleException(ex, handler, Idempotent, false, cnt); + int interval = __handleException(ex, handler, ICE_ENUM(OperationMode, Idempotent), false, cnt); observer.retried(); if(interval > 0) { @@ -1380,32 +2043,8 @@ IceProxy::Ice::Object::ice_getConnection() } } -AsyncResultPtr -IceProxy::Ice::Object::begin_ice_getConnectionInternal(const ::IceInternal::CallbackBasePtr& del, - const ::Ice::LocalObjectPtr& cookie) -{ - ProxyGetConnectionPtr result = new ProxyGetConnection(this, ice_getConnection_name, del, cookie); - try - { - result->invoke(); - } - catch(const Exception& ex) - { - result->abort(ex); - } - return result; -} - -ConnectionPtr -IceProxy::Ice::Object::end_ice_getConnection(const AsyncResultPtr& __result) -{ - AsyncResult::__check(__result, this, ice_getConnection_name); - __result->__wait(); - return ice_getCachedConnection(); -} - ConnectionPtr -IceProxy::Ice::Object::ice_getCachedConnection() const +ICE_OBJECT_PRX::ice_getCachedConnection() const { RequestHandlerPtr __handler; { @@ -1427,51 +2066,21 @@ IceProxy::Ice::Object::ice_getCachedConnection() const } void -IceProxy::Ice::Object::ice_flushBatchRequests() -{ - ProxyFlushBatch og(this, ice_flushBatchRequests_name); - og.invoke(); -} - -::Ice::AsyncResultPtr -IceProxy::Ice::Object::begin_ice_flushBatchRequestsInternal(const ::IceInternal::CallbackBasePtr& del, - const ::Ice::LocalObjectPtr& cookie) -{ - ProxyFlushBatchAsyncPtr result = new ProxyFlushBatchAsync(this, ice_flushBatchRequests_name, del, cookie); - try - { - result->invoke(); - } - catch(const Exception& ex) - { - result->abort(ex); - } - return result; -} - -void -IceProxy::Ice::Object::end_ice_flushBatchRequests(const AsyncResultPtr& result) +ICE_OBJECT_PRX::setup(const ReferencePtr& ref) { - AsyncResult::__check(result, this, ice_flushBatchRequests_name); - result->__wait(); -} + // + // No need to synchronize "*this", as this operation is only + // called upon initialization. + // -Int -IceProxy::Ice::Object::__hash() const -{ - return _reference->hash(); -} + assert(!_reference); + assert(!_requestHandler); -void -IceProxy::Ice::Object::__copyFrom(const ObjectPrx& from) -{ - IceUtil::Mutex::Lock sync(from->_mutex); - _reference = from->_reference; - _requestHandler = from->_requestHandler; + _reference = ref; } int -IceProxy::Ice::Object::__handleException(const Exception& ex, +ICE_OBJECT_PRX::__handleException(const Exception& ex, const RequestHandlerPtr& handler, OperationMode mode, bool sent, @@ -1496,7 +2105,7 @@ IceProxy::Ice::Object::__handleException(const Exception& ex, // const LocalException* localEx = dynamic_cast<const LocalException*>(&ex); if(localEx && (!sent || - mode == Nonmutating || mode == Idempotent || + mode == ICE_ENUM(OperationMode, Nonmutating) || mode == ICE_ENUM(OperationMode, Idempotent) || dynamic_cast<const CloseConnectionException*>(&ex) || dynamic_cast<const ObjectNotExistException*>(&ex))) { @@ -1519,101 +2128,8 @@ IceProxy::Ice::Object::__handleException(const Exception& ex, return 0; // Keep the compiler happy. } -void -IceProxy::Ice::Object::__checkTwowayOnly(const string& name) const -{ - // - // No mutex lock necessary, there is nothing mutable in this operation. - // - if(!ice_isTwoway()) - { - TwowayOnlyException ex(__FILE__, __LINE__); - ex.operation = name; - throw ex; - } -} - -void -IceProxy::Ice::Object::__checkAsyncTwowayOnly(const string& name) const -{ - // - // No mutex lock necessary, there is nothing mutable in this operation. - // - if(!ice_isTwoway()) - { - throw IceUtil::IllegalArgumentException(__FILE__, - __LINE__, - "`" + name + "' can only be called with a twoway proxy"); - } -} - -void -IceProxy::Ice::Object::__invoke(Outgoing& __og) const -{ - // - // Helper for operations without out/return parameters and user - // exceptions. - // - - bool __ok = __og.invoke(); - if(__og.hasResponse()) - { - if(!__ok) - { - try - { - __og.throwUserException(); - } - catch(const ::Ice::UserException& __ex) - { - ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name()); - throw __uue; - } - } - __og.readEmptyParams(); - } -} - -void -IceProxy::Ice::Object::__end(const ::Ice::AsyncResultPtr& __result, const std::string& operation) const -{ - AsyncResult::__check(__result, this, operation); - bool __ok = __result->__wait(); - if(_reference->getMode() == Reference::ModeTwoway) - { - if(!__ok) - { - try - { - __result->__throwUserException(); - } - catch(const UserException& __ex) - { - throw UnknownUserException(__FILE__, __LINE__, __ex.ice_name()); - } - } - __result->__readEmptyParams(); - } -} - -namespace IceProxy -{ - -namespace Ice -{ - -ostream& -operator<<(ostream& os, const ::IceProxy::Ice::Object& p) -{ - return os << p.ice_toString(); -} - -} - -} - ::IceInternal::RequestHandlerPtr -IceProxy::Ice::Object::__getRequestHandler() +ICE_OBJECT_PRX::__getRequestHandler() { RequestHandlerPtr handler; if(_reference->getCacheConnection()) @@ -1624,11 +2140,11 @@ IceProxy::Ice::Object::__getRequestHandler() return _requestHandler; } } - return _reference->getRequestHandler(this); + return _reference->getRequestHandler(ICE_SHARED_FROM_THIS); } IceInternal::BatchRequestQueuePtr -IceProxy::Ice::Object::__getBatchRequestQueue() +ICE_OBJECT_PRX::__getBatchRequestQueue() { IceUtil::Mutex::Lock sync(_mutex); if(!_batchRequestQueue) @@ -1639,7 +2155,7 @@ IceProxy::Ice::Object::__getBatchRequestQueue() } ::IceInternal::RequestHandlerPtr -IceProxy::Ice::Object::__setRequestHandler(const ::IceInternal::RequestHandlerPtr& handler) +ICE_OBJECT_PRX::__setRequestHandler(const ::IceInternal::RequestHandlerPtr& handler) { if(_reference->getCacheConnection()) { @@ -1654,7 +2170,7 @@ IceProxy::Ice::Object::__setRequestHandler(const ::IceInternal::RequestHandlerPt } void -IceProxy::Ice::Object::__updateRequestHandler(const ::IceInternal::RequestHandlerPtr& previous, +ICE_OBJECT_PRX::__updateRequestHandler(const ::IceInternal::RequestHandlerPtr& previous, const ::IceInternal::RequestHandlerPtr& handler) { if(_reference->getCacheConnection() && previous) @@ -1674,28 +2190,33 @@ IceProxy::Ice::Object::__updateRequestHandler(const ::IceInternal::RequestHandle } } -IceProxy::Ice::Object* -IceProxy::Ice::Object::__newInstance() const +void +ICE_OBJECT_PRX::__copyFrom(const ObjectPrxPtr& from) { - return new Object; + IceUtil::Mutex::Lock sync(from->_mutex); + _reference = from->_reference; + _requestHandler = from->_requestHandler; } -void -IceProxy::Ice::Object::setup(const ReferencePtr& ref) +CommunicatorPtr +ICE_OBJECT_PRX::ice_getCommunicator() const +{ + return _reference->getCommunicator(); +} + +string +ICE_OBJECT_PRX::ice_toString() const { // - // No need to synchronize "*this", as this operation is only - // called upon initialization. + // Returns the stringified proxy. There's no need to convert the + // string to a native string: a stringified proxy only contains + // printable ASCII which is a subset of all native character sets. // - - assert(!_reference); - assert(!_requestHandler); - - _reference = ref; + return _reference->toString(); } bool -Ice::proxyIdentityLess(const ObjectPrx& lhs, const ObjectPrx& rhs) +Ice::proxyIdentityLess(const ObjectPrxPtr& lhs, const ObjectPrxPtr& rhs) { if(!lhs && !rhs) { @@ -1716,7 +2237,7 @@ Ice::proxyIdentityLess(const ObjectPrx& lhs, const ObjectPrx& rhs) } bool -Ice::proxyIdentityEqual(const ObjectPrx& lhs, const ObjectPrx& rhs) +Ice::proxyIdentityEqual(const ObjectPrxPtr& lhs, const ObjectPrxPtr& rhs) { if(!lhs && !rhs) { @@ -1737,7 +2258,7 @@ Ice::proxyIdentityEqual(const ObjectPrx& lhs, const ObjectPrx& rhs) } bool -Ice::proxyIdentityAndFacetLess(const ObjectPrx& lhs, const ObjectPrx& rhs) +Ice::proxyIdentityAndFacetLess(const ObjectPrxPtr& lhs, const ObjectPrxPtr& rhs) { if(!lhs && !rhs) { @@ -1782,7 +2303,7 @@ Ice::proxyIdentityAndFacetLess(const ObjectPrx& lhs, const ObjectPrx& rhs) } bool -Ice::proxyIdentityAndFacetEqual(const ObjectPrx& lhs, const ObjectPrx& rhs) +Ice::proxyIdentityAndFacetEqual(const ObjectPrxPtr& lhs, const ObjectPrxPtr& rhs) { if(!lhs && !rhs) { @@ -1815,15 +2336,3 @@ Ice::proxyIdentityAndFacetEqual(const ObjectPrx& lhs, const ObjectPrx& rhs) return false; } } - -void -Ice::ice_writeObjectPrx(const OutputStreamPtr& out, const ObjectPrx& v) -{ - out->write(v); -} - -void -Ice::ice_readObjectPrx(const InputStreamPtr& in, ObjectPrx& v) -{ - in->read(v); -} diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index c5ab91e336c..018cac70602 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -28,7 +28,7 @@ using namespace IceInternal; IceUtil::Shared* IceInternal::upCast(ProxyFactory* p) { return p; } -ObjectPrx +ObjectPrxPtr IceInternal::ProxyFactory::stringToProxy(const string& str) const { ReferencePtr ref = _instance->referenceFactory()->create(str, ""); @@ -36,7 +36,7 @@ IceInternal::ProxyFactory::stringToProxy(const string& str) const } string -IceInternal::ProxyFactory::proxyToString(const ObjectPrx& proxy) const +IceInternal::ProxyFactory::proxyToString(const ObjectPrxPtr& proxy) const { if(proxy) { @@ -48,7 +48,7 @@ IceInternal::ProxyFactory::proxyToString(const ObjectPrx& proxy) const } } -ObjectPrx +ObjectPrxPtr IceInternal::ProxyFactory::propertyToProxy(const string& prefix) const { string proxy = _instance->initializationData().properties->getProperty(prefix); @@ -57,7 +57,7 @@ IceInternal::ProxyFactory::propertyToProxy(const string& prefix) const } PropertyDict -IceInternal::ProxyFactory::proxyToProperty(const ObjectPrx& proxy, const string& prefix) const +IceInternal::ProxyFactory::proxyToProperty(const ObjectPrxPtr& proxy, const string& prefix) const { if(proxy) { @@ -69,7 +69,7 @@ IceInternal::ProxyFactory::proxyToProperty(const ObjectPrx& proxy, const string& } } -ObjectPrx +ObjectPrxPtr IceInternal::ProxyFactory::streamToProxy(BasicStream* s) const { Identity ident; @@ -80,7 +80,7 @@ IceInternal::ProxyFactory::streamToProxy(BasicStream* s) const } void -IceInternal::ProxyFactory::proxyToStream(const ObjectPrx& proxy, BasicStream* s) const +IceInternal::ProxyFactory::proxyToStream(const ObjectPrxPtr& proxy, BasicStream* s) const { if(proxy) { @@ -94,18 +94,18 @@ IceInternal::ProxyFactory::proxyToStream(const ObjectPrx& proxy, BasicStream* s) } } -ObjectPrx +ObjectPrxPtr IceInternal::ProxyFactory::referenceToProxy(const ReferencePtr& ref) const { if(ref) { - ObjectPrx proxy = new ::IceProxy::Ice::Object; + ObjectPrxPtr proxy = ICE_MAKE_SHARED(::IceProxy::Ice::Object); proxy->setup(ref); return proxy; } else { - return 0; + return ICE_NULLPTR; } } diff --git a/cpp/src/Ice/ProxyFactory.h b/cpp/src/Ice/ProxyFactory.h index 72202a446db..18a4ae83552 100644 --- a/cpp/src/Ice/ProxyFactory.h +++ b/cpp/src/Ice/ProxyFactory.h @@ -29,16 +29,16 @@ class ProxyFactory : public IceUtil::Shared { public: - Ice::ObjectPrx stringToProxy(const std::string&) const; - std::string proxyToString(const Ice::ObjectPrx&) const; + Ice::ObjectPrxPtr stringToProxy(const std::string&) const; + std::string proxyToString(const Ice::ObjectPrxPtr&) const; - Ice::ObjectPrx propertyToProxy(const std::string&) const; - Ice::PropertyDict proxyToProperty(const Ice::ObjectPrx&, const std::string&) const; + Ice::ObjectPrxPtr propertyToProxy(const std::string&) const; + Ice::PropertyDict proxyToProperty(const Ice::ObjectPrxPtr&, const std::string&) const; - Ice::ObjectPrx streamToProxy(BasicStream*) const; - void proxyToStream(const Ice::ObjectPrx&, BasicStream*) const; + Ice::ObjectPrxPtr streamToProxy(BasicStream*) const; + void proxyToStream(const Ice::ObjectPrxPtr&, BasicStream*) const; - Ice::ObjectPrx referenceToProxy(const ReferencePtr&) const; + Ice::ObjectPrxPtr referenceToProxy(const ReferencePtr&) const; int checkRetryAfterException(const Ice::LocalException&, const ReferencePtr&, int&) const; diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp index c461535c33e..e2b36e92ffa 100644 --- a/cpp/src/Ice/Reference.cpp +++ b/cpp/src/Ice/Reference.cpp @@ -27,11 +27,14 @@ #include <Ice/RequestHandlerFactory.h> #include <Ice/ConnectionRequestHandler.h> #include <Ice/DefaultsAndOverrides.h> +#include <Ice/Comparable.h> + #include <IceUtil/StringUtil.h> #include <IceUtil/Random.h> #include <IceUtil/MutexPtrLock.h> #include <functional> +#include <algorithm> using namespace std; using namespace Ice; @@ -376,7 +379,6 @@ IceInternal::Reference::operator==(const Reference& r) const { return false; } - return true; } @@ -654,14 +656,14 @@ IceInternal::FixedReference::changeAdapterId(const string& /*newAdapterId*/) con } ReferencePtr -IceInternal::FixedReference::changeLocator(const LocatorPrx&) const +IceInternal::FixedReference::changeLocator(const LocatorPrxPtr&) const { throw FixedProxyException(__FILE__, __LINE__); return 0; // Keep the compiler happy. } ReferencePtr -IceInternal::FixedReference::changeRouter(const RouterPrx&) const +IceInternal::FixedReference::changeRouter(const RouterPrxPtr&) const { throw FixedProxyException(__FILE__, __LINE__); return 0; // Keep the compiler happy. @@ -753,7 +755,7 @@ IceInternal::FixedReference::toProperty(const string&) const } RequestHandlerPtr -IceInternal::FixedReference::getRequestHandler(const Ice::ObjectPrx& proxy) const +IceInternal::FixedReference::getRequestHandler(const Ice::ObjectPrxPtr& proxy) const { switch(getMode()) { @@ -815,7 +817,7 @@ IceInternal::FixedReference::getRequestHandler(const Ice::ObjectPrx& proxy) cons } ReferencePtr ref = const_cast<FixedReference*>(this); - return proxy->__setRequestHandler(new ConnectionRequestHandler(ref, _fixedConnection, compress)); + return proxy->__setRequestHandler(ICE_MAKE_SHARED(ConnectionRequestHandler, ref, _fixedConnection, compress)); } BatchRequestQueuePtr @@ -1039,7 +1041,7 @@ IceInternal::RoutableReference::changeAdapterId(const string& newAdapterId) cons } ReferencePtr -IceInternal::RoutableReference::changeLocator(const LocatorPrx& newLocator) const +IceInternal::RoutableReference::changeLocator(const LocatorPrxPtr& newLocator) const { LocatorInfoPtr newLocatorInfo = getInstance()->locatorManager()->get(newLocator); if(newLocatorInfo == _locatorInfo) @@ -1052,7 +1054,7 @@ IceInternal::RoutableReference::changeLocator(const LocatorPrx& newLocator) cons } ReferencePtr -IceInternal::RoutableReference::changeRouter(const RouterPrx& newRouter) const +IceInternal::RoutableReference::changeRouter(const RouterPrxPtr& newRouter) const { RouterInfoPtr newRouterInfo = getInstance()->routerManager()->get(newRouter); if(newRouterInfo == _routerInfo) @@ -1351,7 +1353,12 @@ IceInternal::RoutableReference::operator==(const Reference& r) const { return false; } +#ifdef ICE_CPP11_MAPPING + if(!equal(_endpoints.begin(), _endpoints.end(), rhs->_endpoints.begin(), rhs->_endpoints.end(), + Ice::TargetEquals<shared_ptr<EndpointI>>())) +#else if(_endpoints != rhs->_endpoints) +#endif { return false; } @@ -1479,7 +1486,12 @@ IceInternal::RoutableReference::operator<(const Reference& r) const { return false; } +#ifdef ICE_CPP11_MAPPING + if(lexicographical_compare(_endpoints.begin(), _endpoints.end(), rhs->_endpoints.begin(), rhs->_endpoints.end(), + Ice::TargetLess<shared_ptr<EndpointI>>())) +#else if(_endpoints < rhs->_endpoints) +#endif { return true; } @@ -1505,7 +1517,7 @@ IceInternal::RoutableReference::clone() const } RequestHandlerPtr -IceInternal::RoutableReference::getRequestHandler(const Ice::ObjectPrx& proxy) const +IceInternal::RoutableReference::getRequestHandler(const Ice::ObjectPrxPtr& proxy) const { return getInstance()->requestHandlerFactory()->getRequestHandler(const_cast<RoutableReference*>(this), proxy); } @@ -1640,7 +1652,7 @@ IceInternal::RoutableReference::getConnectionNoRouterInfo(const GetConnectionCal vector<EndpointIPtr> endpts = endpoints; _reference->applyOverrides(endpts); - _reference->createConnection(endpts, new Callback2(_reference, _callback, cached)); + _reference->createConnection(endpts, ICE_MAKE_SHARED(Callback2, _reference, _callback, cached)); } virtual void diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h index a8d1b773c46..d10e2c71c3d 100644 --- a/cpp/src/Ice/Reference.h +++ b/cpp/src/Ice/Reference.h @@ -36,14 +36,17 @@ class Reference : public IceUtil::Shared { public: - class GetConnectionCallback : virtual public IceUtil::Shared + class GetConnectionCallback +#ifndef ICE_CPP11_MAPPING + : virtual public IceUtil::Shared +#endif { public: virtual void setConnection(const Ice::ConnectionIPtr&, bool) = 0; virtual void setException(const Ice::LocalException&) = 0; }; - typedef IceUtil::Handle<GetConnectionCallback> GetConnectionCallbackPtr; + ICE_DEFINE_PTR(GetConnectionCallbackPtr, GetConnectionCallback); enum Mode { @@ -95,8 +98,8 @@ public: virtual ReferencePtr changeEndpoints(const std::vector<EndpointIPtr>&) const = 0; virtual ReferencePtr changeAdapterId(const std::string&) const = 0; - virtual ReferencePtr changeLocator(const Ice::LocatorPrx&) const = 0; - virtual ReferencePtr changeRouter(const Ice::RouterPrx&) const = 0; + virtual ReferencePtr changeLocator(const Ice::LocatorPrxPtr&) const = 0; + virtual ReferencePtr changeRouter(const Ice::RouterPrxPtr&) const = 0; virtual ReferencePtr changeCollocationOptimized(bool) const = 0; virtual ReferencePtr changeLocatorCacheTimeout(int) const = 0; virtual ReferencePtr changeCacheConnection(bool) const = 0; @@ -132,7 +135,7 @@ public: // // Get a suitable connection for this reference. // - virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrx&) const = 0; + virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrxPtr&) const = 0; virtual BatchRequestQueuePtr getBatchRequestQueue() const = 0; virtual bool operator==(const Reference&) const; @@ -190,8 +193,8 @@ public: virtual ReferencePtr changeEndpoints(const std::vector<EndpointIPtr>&) const; virtual ReferencePtr changeAdapterId(const std::string&) const; - virtual ReferencePtr changeLocator(const Ice::LocatorPrx&) const; - virtual ReferencePtr changeRouter(const Ice::RouterPrx&) const; + virtual ReferencePtr changeLocator(const Ice::LocatorPrxPtr&) const; + virtual ReferencePtr changeRouter(const Ice::RouterPrxPtr&) const; virtual ReferencePtr changeCollocationOptimized(bool) const; virtual ReferencePtr changeCacheConnection(bool) const; virtual ReferencePtr changePreferSecure(bool) const; @@ -208,7 +211,7 @@ public: virtual std::string toString() const; virtual Ice::PropertyDict toProperty(const std::string&) const; - virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrx&) const; + virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrxPtr&) const; virtual BatchRequestQueuePtr getBatchRequestQueue() const; virtual bool operator==(const Reference&) const; @@ -248,8 +251,8 @@ public: virtual ReferencePtr changeCompress(bool) const; virtual ReferencePtr changeEndpoints(const std::vector<EndpointIPtr>&) const; virtual ReferencePtr changeAdapterId(const std::string&) const; - virtual ReferencePtr changeLocator(const Ice::LocatorPrx&) const; - virtual ReferencePtr changeRouter(const Ice::RouterPrx&) const; + virtual ReferencePtr changeLocator(const Ice::LocatorPrxPtr&) const; + virtual ReferencePtr changeRouter(const Ice::RouterPrxPtr&) const; virtual ReferencePtr changeCollocationOptimized(bool) const; virtual ReferencePtr changeCacheConnection(bool) const; virtual ReferencePtr changePreferSecure(bool) const; @@ -272,7 +275,7 @@ public: virtual ReferencePtr clone() const; - virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrx&) const; + virtual RequestHandlerPtr getRequestHandler(const Ice::ObjectPrxPtr&) const; virtual BatchRequestQueuePtr getBatchRequestQueue() const; void getConnection(const GetConnectionCallbackPtr&) const; diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp index 24c5d1d384b..fd6a833311d 100644 --- a/cpp/src/Ice/ReferenceFactory.cpp +++ b/cpp/src/Ice/ReferenceFactory.cpp @@ -660,7 +660,7 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s) } ReferenceFactoryPtr -IceInternal::ReferenceFactory::setDefaultRouter(const RouterPrx& defaultRouter) +IceInternal::ReferenceFactory::setDefaultRouter(const RouterPrxPtr& defaultRouter) { if(defaultRouter == _defaultRouter) { @@ -673,14 +673,14 @@ IceInternal::ReferenceFactory::setDefaultRouter(const RouterPrx& defaultRouter) return factory; } -RouterPrx +RouterPrxPtr IceInternal::ReferenceFactory::getDefaultRouter() const { return _defaultRouter; } ReferenceFactoryPtr -IceInternal::ReferenceFactory::setDefaultLocator(const LocatorPrx& defaultLocator) +IceInternal::ReferenceFactory::setDefaultLocator(const LocatorPrxPtr& defaultLocator) { if(defaultLocator == _defaultLocator) { @@ -693,7 +693,7 @@ IceInternal::ReferenceFactory::setDefaultLocator(const LocatorPrx& defaultLocato return factory; } -LocatorPrx +LocatorPrxPtr IceInternal::ReferenceFactory::getDefaultLocator() const { return _defaultLocator; @@ -815,7 +815,7 @@ IceInternal::ReferenceFactory::create(const Identity& ident, string property; property = propertyPrefix + ".Locator"; - LocatorPrx locator = LocatorPrx::uncheckedCast(_communicator->propertyToProxy(property)); + LocatorPrxPtr locator = ICE_UNCHECKED_CAST(LocatorPrx, _communicator->propertyToProxy(property)); if(locator) { if(locator->ice_getEncodingVersion() != encoding) @@ -829,7 +829,7 @@ IceInternal::ReferenceFactory::create(const Identity& ident, } property = propertyPrefix + ".Router"; - RouterPrx router = RouterPrx::uncheckedCast(_communicator->propertyToProxy(property)); + RouterPrxPtr router = ICE_UNCHECKED_CAST(RouterPrx, _communicator->propertyToProxy(property)); if(router) { if(propertyPrefix.size() > 7 && propertyPrefix.substr(propertyPrefix.size() - 7, 7) == ".Router") diff --git a/cpp/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h index 2a38f6d72e1..12c396ee440 100644 --- a/cpp/src/Ice/ReferenceFactory.h +++ b/cpp/src/Ice/ReferenceFactory.h @@ -54,11 +54,11 @@ public: // ReferencePtr create(const ::Ice::Identity&, BasicStream*); - ReferenceFactoryPtr setDefaultRouter(const ::Ice::RouterPrx&); - ::Ice::RouterPrx getDefaultRouter() const; + ReferenceFactoryPtr setDefaultRouter(const ::Ice::RouterPrxPtr&); + ::Ice::RouterPrxPtr getDefaultRouter() const; - ReferenceFactoryPtr setDefaultLocator(const ::Ice::LocatorPrx&); - ::Ice::LocatorPrx getDefaultLocator() const; + ReferenceFactoryPtr setDefaultLocator(const ::Ice::LocatorPrxPtr&); + ::Ice::LocatorPrxPtr getDefaultLocator() const; private: @@ -72,8 +72,8 @@ private: const InstancePtr _instance; const ::Ice::CommunicatorPtr _communicator; - ::Ice::RouterPrx _defaultRouter; - ::Ice::LocatorPrx _defaultLocator; + ::Ice::RouterPrxPtr _defaultRouter; + ::Ice::LocatorPrxPtr _defaultLocator; }; } diff --git a/cpp/src/Ice/RequestHandler.cpp b/cpp/src/Ice/RequestHandler.cpp index 4cef97a0909..62acf7e4ef3 100644 --- a/cpp/src/Ice/RequestHandler.cpp +++ b/cpp/src/Ice/RequestHandler.cpp @@ -13,8 +13,10 @@ using namespace std; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(RequestHandler* p) { return p; } IceUtil::Shared* IceInternal::upCast(CancellationHandler* p) { return p; } +#endif RetryException::RetryException(const Ice::LocalException& ex) { diff --git a/cpp/src/Ice/RequestHandler.h b/cpp/src/Ice/RequestHandler.h index 03a55f7773d..cfe7db10845 100644 --- a/cpp/src/Ice/RequestHandler.h +++ b/cpp/src/Ice/RequestHandler.h @@ -52,7 +52,10 @@ private: IceUtil::UniquePtr<Ice::LocalException> _ex; }; -class CancellationHandler : virtual public IceUtil::Shared +class CancellationHandler +#ifndef ICE_CPP11_MAPPING + : virtual public IceUtil::Shared +#endif { public: @@ -63,6 +66,8 @@ public: class RequestHandler : public CancellationHandler { public: + + RequestHandler(const ReferencePtr&); virtual RequestHandlerPtr update(const RequestHandlerPtr&, const RequestHandlerPtr&) = 0; @@ -76,7 +81,6 @@ public: protected: - RequestHandler(const ReferencePtr&); const ReferencePtr _reference; const bool _response; }; diff --git a/cpp/src/Ice/RequestHandlerFactory.cpp b/cpp/src/Ice/RequestHandlerFactory.cpp index 0b2d0ff10ed..029a4001e50 100644 --- a/cpp/src/Ice/RequestHandlerFactory.cpp +++ b/cpp/src/Ice/RequestHandlerFactory.cpp @@ -23,14 +23,14 @@ RequestHandlerFactory::RequestHandlerFactory(const InstancePtr& instance) : _ins } RequestHandlerPtr -IceInternal::RequestHandlerFactory::getRequestHandler(const RoutableReferencePtr& ref, const Ice::ObjectPrx& proxy) +IceInternal::RequestHandlerFactory::getRequestHandler(const RoutableReferencePtr& ref, const Ice::ObjectPrxPtr& proxy) { if(ref->getCollocationOptimized()) { Ice::ObjectAdapterPtr adapter = _instance->objectAdapterFactory()->findObjectAdapter(proxy); if(adapter) { - return proxy->__setRequestHandler(new CollocatedRequestHandler(ref, adapter)); + return proxy->__setRequestHandler(ICE_MAKE_SHARED(CollocatedRequestHandler, ref, adapter)); } } @@ -42,7 +42,7 @@ IceInternal::RequestHandlerFactory::getRequestHandler(const RoutableReferencePtr map<ReferencePtr, ConnectRequestHandlerPtr>::iterator p = _handlers.find(ref); if(p == _handlers.end()) { - handler = new ConnectRequestHandler(ref, proxy); + handler = ICE_MAKE_SHARED(ConnectRequestHandler, ref, proxy); _handlers.insert(make_pair(ref, handler)); connect = true; } @@ -53,12 +53,16 @@ IceInternal::RequestHandlerFactory::getRequestHandler(const RoutableReferencePtr } else { - handler = new ConnectRequestHandler(ref, proxy); + handler = ICE_MAKE_SHARED(ConnectRequestHandler, ref, proxy); connect = true; } if(connect) { +#ifdef ICE_CPP11_MAPPING + ref->getConnection(handler); +#else ref->getConnection(handler.get()); +#endif } return proxy->__setRequestHandler(handler->connect(proxy)); } diff --git a/cpp/src/Ice/RequestHandlerFactory.h b/cpp/src/Ice/RequestHandlerFactory.h index 6a9aec0114d..3a009e2a3c3 100644 --- a/cpp/src/Ice/RequestHandlerFactory.h +++ b/cpp/src/Ice/RequestHandlerFactory.h @@ -28,7 +28,7 @@ public: RequestHandlerFactory(const InstancePtr&); - RequestHandlerPtr getRequestHandler(const RoutableReferencePtr&, const Ice::ObjectPrx&); + RequestHandlerPtr getRequestHandler(const RoutableReferencePtr&, const Ice::ObjectPrxPtr&); void removeRequestHandler(const ReferencePtr&, const RequestHandlerPtr&); private: diff --git a/cpp/src/Ice/ResponseHandler.cpp b/cpp/src/Ice/ResponseHandler.cpp index 26ed3f231f8..7693477aef9 100644 --- a/cpp/src/Ice/ResponseHandler.cpp +++ b/cpp/src/Ice/ResponseHandler.cpp @@ -12,9 +12,6 @@ using namespace std; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(ResponseHandler* obj) { return obj; } - -ResponseHandler::~ResponseHandler() -{ -} - +#endif
\ No newline at end of file diff --git a/cpp/src/Ice/ResponseHandler.h b/cpp/src/Ice/ResponseHandler.h index 23ed39fd70d..0838953bc41 100644 --- a/cpp/src/Ice/ResponseHandler.h +++ b/cpp/src/Ice/ResponseHandler.h @@ -16,18 +16,22 @@ #include <Ice/Config.h> #include <Ice/LocalException.h> #include <Ice/ResponseHandlerF.h> +#include <Ice/VirtualShared.h> namespace IceInternal { class BasicStream; -class ResponseHandler : virtual public ::IceUtil::Shared +class ResponseHandler : +#ifdef ICE_CPP11_MAPPING + public virtual VirtualShared +#else + public virtual ::IceUtil::Shared +#endif { public: - virtual ~ResponseHandler(); - virtual void sendResponse(Ice::Int, BasicStream*, Ice::Byte, bool) = 0; virtual void sendNoResponse() = 0; virtual bool systemException(Ice::Int, const Ice::SystemException&, bool) = 0; diff --git a/cpp/src/Ice/RetryQueue.cpp b/cpp/src/Ice/RetryQueue.cpp index 6cf87596708..84a8997bd4a 100644 --- a/cpp/src/Ice/RetryQueue.cpp +++ b/cpp/src/Ice/RetryQueue.cpp @@ -40,7 +40,7 @@ IceInternal::RetryTask::runTimerTask() // (we still need the client thread pool at this point to call // exception callbacks with CommunicatorDestroyedException). // - _queue->remove(this); + _queue->remove(ICE_SHARED_FROM_THIS); } void @@ -52,7 +52,7 @@ IceInternal::RetryTask::requestCanceled(OutgoingBase*, const Ice::LocalException void IceInternal::RetryTask::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, const Ice::LocalException& ex) { - if(_queue->cancel(this)) + if(_queue->cancel(ICE_SHARED_FROM_THIS)) { if(_instance->traceLevels()->retry >= 1) { @@ -97,7 +97,7 @@ IceInternal::RetryQueue::add(const ProxyOutgoingAsyncBasePtr& out, int interval) { throw CommunicatorDestroyedException(__FILE__, __LINE__); } - RetryTaskPtr task = new RetryTask(_instance, this, out); + RetryTaskPtr task = ICE_MAKE_SHARED(RetryTask, _instance, this, out); out->cancelable(task); // This will throw if the request is canceled. try { diff --git a/cpp/src/Ice/RetryQueue.h b/cpp/src/Ice/RetryQueue.h index e7d4c62728c..07e5e5ac39e 100644 --- a/cpp/src/Ice/RetryQueue.h +++ b/cpp/src/Ice/RetryQueue.h @@ -21,7 +21,9 @@ namespace IceInternal { -class RetryTask : public IceUtil::TimerTask, public CancellationHandler +class RetryTask : public IceUtil::TimerTask, + public CancellationHandler, + public ICE_ENABLE_SHARED_FROM_THIS(RetryTask) { public: @@ -43,7 +45,7 @@ private: const RetryQueuePtr _queue; const ProxyOutgoingAsyncBasePtr _outAsync; }; -typedef IceUtil::Handle<RetryTask> RetryTaskPtr; +ICE_DEFINE_PTR(RetryTaskPtr, RetryTask); class RetryQueue : public IceUtil::Shared, public IceUtil::Monitor<IceUtil::Mutex> { diff --git a/cpp/src/Ice/RouterInfo.cpp b/cpp/src/Ice/RouterInfo.cpp index 49f3ac389ed..f0afc392990 100644 --- a/cpp/src/Ice/RouterInfo.cpp +++ b/cpp/src/Ice/RouterInfo.cpp @@ -30,27 +30,29 @@ void IceInternal::RouterManager::destroy() { IceUtil::Mutex::Lock sync(*this); - - for_each(_table.begin(), _table.end(), Ice::secondVoidMemFun<const RouterPrx, RouterInfo>(&RouterInfo::destroy)); - +#ifdef ICE_CPP11_MAPPING + for_each(_table.begin(), _table.end(), [](auto it){ it.second->destroy(); }); +#else + for_each(_table.begin(), _table.end(), Ice::secondVoidMemFun<const RouterPrxPtr, RouterInfo>(&RouterInfo::destroy)); +#endif _table.clear(); _tableHint = _table.end(); } RouterInfoPtr -IceInternal::RouterManager::get(const RouterPrx& rtr) +IceInternal::RouterManager::get(const RouterPrxPtr& rtr) { if(!rtr) { return 0; } - RouterPrx router = RouterPrx::uncheckedCast(rtr->ice_router(0)); // The router cannot be routed. + RouterPrxPtr router = ICE_UNCHECKED_CAST(RouterPrx, rtr->ice_router(0)); // The router cannot be routed. IceUtil::Mutex::Lock sync(*this); - map<RouterPrx, RouterInfoPtr>::iterator p = _table.end(); - + map<RouterPrxPtr, RouterInfoPtr>::iterator p = _table.end(); + if(_tableHint != _table.end()) { if(_tableHint->first == router) @@ -58,7 +60,7 @@ IceInternal::RouterManager::get(const RouterPrx& rtr) p = _tableHint; } } - + if(p == _table.end()) { p = _table.find(router); @@ -66,7 +68,7 @@ IceInternal::RouterManager::get(const RouterPrx& rtr) if(p == _table.end()) { - _tableHint = _table.insert(_tableHint, pair<const RouterPrx, RouterInfoPtr>(router, new RouterInfo(router))); + _tableHint = _table.insert(_tableHint, pair<const RouterPrxPtr, RouterInfoPtr>(router, new RouterInfo(router))); } else { @@ -77,26 +79,26 @@ IceInternal::RouterManager::get(const RouterPrx& rtr) } RouterInfoPtr -IceInternal::RouterManager::erase(const RouterPrx& rtr) +IceInternal::RouterManager::erase(const RouterPrxPtr& rtr) { RouterInfoPtr info; if(rtr) { - RouterPrx router = RouterPrx::uncheckedCast(rtr->ice_router(0)); // The router cannot be routed. + RouterPrxPtr router = ICE_UNCHECKED_CAST(RouterPrx, rtr->ice_router(ICE_NULLPTR)); // The router cannot be routed. IceUtil::Mutex::Lock sync(*this); - map<RouterPrx, RouterInfoPtr>::iterator p = _table.end(); + map<RouterPrxPtr, RouterInfoPtr>::iterator p = _table.end(); if(_tableHint != _table.end() && _tableHint->first == router) { p = _tableHint; _tableHint = _table.end(); } - + if(p == _table.end()) { p = _table.find(router); } - + if(p != _table.end()) { info = p->second; @@ -107,7 +109,7 @@ IceInternal::RouterManager::erase(const RouterPrx& rtr) return info; } -IceInternal::RouterInfo::RouterInfo(const RouterPrx& router) : +IceInternal::RouterInfo::RouterInfo(const RouterPrxPtr& router) : _router(router) { assert(_router); @@ -127,19 +129,31 @@ IceInternal::RouterInfo::destroy() bool IceInternal::RouterInfo::operator==(const RouterInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return Ice::targetEquals(_router, rhs._router); +#else return _router == rhs._router; +#endif } bool IceInternal::RouterInfo::operator!=(const RouterInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return !Ice::targetEquals(_router, rhs._router); +#else return _router != rhs._router; +#endif } bool IceInternal::RouterInfo::operator<(const RouterInfo& rhs) const { +#ifdef ICE_CPP11_MAPPING + return Ice::targetLess(_router, rhs._router); +#else return _router < rhs._router; +#endif } vector<EndpointIPtr> @@ -157,14 +171,14 @@ IceInternal::RouterInfo::getClientEndpoints() } void -IceInternal::RouterInfo::getClientProxyResponse(const Ice::ObjectPrx& proxy, +IceInternal::RouterInfo::getClientProxyResponse(const Ice::ObjectPrxPtr& proxy, const GetClientEndpointsCallbackPtr& callback) { callback->setEndpoints(setClientEndpoints(proxy)); } void -IceInternal::RouterInfo::getClientProxyException(const Ice::Exception& ex, +IceInternal::RouterInfo::getClientProxyException(const Ice::Exception& ex, const GetClientEndpointsCallbackPtr& callback) { callback->setException(dynamic_cast<const Ice::LocalException&>(ex)); @@ -185,10 +199,29 @@ IceInternal::RouterInfo::getClientEndpoints(const GetClientEndpointsCallbackPtr& return; } - _router->begin_getClientProxy(newCallback_Router_getClientProxy(this, - &RouterInfo::getClientProxyResponse, +#ifdef ICE_CPP11_MAPPING + _router->getClientProxy_async( + [this, callback](const Ice::ObjectPrxPtr& proxy) + { + this->getClientProxyResponse(proxy, callback); + }, + [this, callback](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const Ice::Exception& ex) + { + this->getClientProxyException(ex, callback); + } + }); +#else + _router->begin_getClientProxy(newCallback_Router_getClientProxy(this, + &RouterInfo::getClientProxyResponse, &RouterInfo::getClientProxyException), callback); +#endif } vector<EndpointIPtr> @@ -206,7 +239,7 @@ IceInternal::RouterInfo::getServerEndpoints() } void -IceInternal::RouterInfo::addProxy(const ObjectPrx& proxy) +IceInternal::RouterInfo::addProxy(const ObjectPrxPtr& proxy) { assert(proxy); // Must not be called for null proxies. @@ -240,7 +273,7 @@ IceInternal::RouterInfo::addProxyException(const Ice::Exception& ex, const AddPr } bool -IceInternal::RouterInfo::addProxy(const Ice::ObjectPrx& proxy, const AddProxyCallbackPtr& callback) +IceInternal::RouterInfo::addProxy(const Ice::ObjectPrxPtr& proxy, const AddProxyCallbackPtr& callback) { assert(proxy); { @@ -258,11 +291,31 @@ IceInternal::RouterInfo::addProxy(const Ice::ObjectPrx& proxy, const AddProxyCal Ice::ObjectProxySeq proxies; proxies.push_back(proxy); AddProxyCookiePtr cookie = new AddProxyCookie(callback, proxy); + +#ifdef ICE_CPP11_MAPPING + _router->addProxies_async(proxies, + [this, cookie](const Ice::ObjectProxySeq& proxies) + { + this->addProxyResponse(proxies, cookie); + }, + [this, cookie](exception_ptr e) + { + try + { + rethrow_exception(e); + } + catch(const Ice::Exception& ex) + { + this->addProxyException(ex, cookie); + } + }); +#else _router->begin_addProxies(proxies, - newCallback_Router_addProxies(this, - &RouterInfo::addProxyResponse, - &RouterInfo::addProxyException), + newCallback_Router_addProxies(this, + &RouterInfo::addProxyResponse, + &RouterInfo::addProxyException), cookie); +#endif return false; } @@ -288,7 +341,7 @@ IceInternal::RouterInfo::clearCache(const ReferencePtr& ref) } vector<EndpointIPtr> -IceInternal::RouterInfo::setClientEndpoints(const Ice::ObjectPrx& proxy) +IceInternal::RouterInfo::setClientEndpoints(const Ice::ObjectPrxPtr& proxy) { IceUtil::Mutex::Lock sync(*this); if(_clientEndpoints.empty()) @@ -302,7 +355,7 @@ IceInternal::RouterInfo::setClientEndpoints(const Ice::ObjectPrx& proxy) } else { - Ice::ObjectPrx clientProxy = proxy->ice_router(0); // The client proxy cannot be routed. + Ice::ObjectPrxPtr clientProxy = proxy->ice_router(0); // The client proxy cannot be routed. // // In order to avoid creating a new connection to the router, @@ -322,12 +375,12 @@ IceInternal::RouterInfo::setClientEndpoints(const Ice::ObjectPrx& proxy) vector<EndpointIPtr> -IceInternal::RouterInfo::setServerEndpoints(const Ice::ObjectPrx& /*serverProxy*/) +IceInternal::RouterInfo::setServerEndpoints(const Ice::ObjectPrxPtr& /*serverProxy*/) { IceUtil::Mutex::Lock sync(*this); if(_serverEndpoints.empty()) // Lazy initialization. { - ObjectPrx serverProxy = _router->getServerProxy(); + ObjectPrxPtr serverProxy = _router->getServerProxy(); if(!serverProxy) { throw NoEndpointException(__FILE__, __LINE__); @@ -341,12 +394,12 @@ IceInternal::RouterInfo::setServerEndpoints(const Ice::ObjectPrx& /*serverProxy* } void -IceInternal::RouterInfo::addAndEvictProxies(const Ice::ObjectPrx& proxy, const Ice::ObjectProxySeq& evictedProxies) +IceInternal::RouterInfo::addAndEvictProxies(const Ice::ObjectPrxPtr& proxy, const Ice::ObjectProxySeq& evictedProxies) { IceUtil::Mutex::Lock sync(*this); // - // Check if the proxy hasn't already been evicted by a concurrent addProxies call. + // Check if the proxy hasn't already been evicted by a concurrent addProxies call. // If it's the case, don't add it to our local map. // multiset<Identity>::iterator p = _evictedIdentities.find(proxy->ice_getIdentity()); @@ -362,7 +415,7 @@ IceInternal::RouterInfo::addAndEvictProxies(const Ice::ObjectPrx& proxy, const I // _identities.insert(proxy->ice_getIdentity()); } - + // // We also must remove whatever proxies the router evicted. // diff --git a/cpp/src/Ice/RouterInfo.h b/cpp/src/Ice/RouterInfo.h index 848cd7e0e04..9f6a1dbfef2 100644 --- a/cpp/src/Ice/RouterInfo.h +++ b/cpp/src/Ice/RouterInfo.h @@ -13,12 +13,13 @@ #include <IceUtil/Shared.h> #include <IceUtil/Mutex.h> #include <Ice/RouterInfoF.h> -#include <Ice/RouterF.h> +#include <Ice/Router.h> #include <Ice/ProxyF.h> #include <Ice/ReferenceF.h> #include <Ice/EndpointIF.h> #include <Ice/BuiltinSequences.h> #include <Ice/Identity.h> +#include <Ice/Comparable.h> #include <set> @@ -37,13 +38,21 @@ public: // Returns router info for a given router. Automatically creates // the router info if it doesn't exist yet. // - RouterInfoPtr get(const Ice::RouterPrx&); - RouterInfoPtr erase(const Ice::RouterPrx&); + RouterInfoPtr get(const Ice::RouterPrxPtr&); + RouterInfoPtr erase(const Ice::RouterPrxPtr&); private: - std::map<Ice::RouterPrx, RouterInfoPtr> _table; - std::map<Ice::RouterPrx, RouterInfoPtr>::iterator _tableHint; +#ifdef ICE_CPP11_MAPPING + using RouterTableMap = std::map<std::shared_ptr<Ice::RouterPrx>, + RouterInfoPtr, + Ice::TargetLess<std::shared_ptr<::Ice::RouterPrx>>>; +#else + typedef std::map<Ice::RouterPrxPtr, RouterInfoPtr> RouterTableMap; +#endif + + RouterTableMap _table; + RouterTableMap::iterator _tableHint; }; class RouterInfo : public IceUtil::Shared, public IceUtil::Mutex @@ -59,16 +68,19 @@ public: }; typedef IceUtil::Handle<GetClientEndpointsCallback> GetClientEndpointsCallbackPtr; - class AddProxyCallback : virtual public IceUtil::Shared + class AddProxyCallback +#ifndef ICE_CPP11_MAPPING + : virtual public IceUtil::Shared +#endif { public: virtual void addedProxy() = 0; virtual void setException(const Ice::LocalException&) = 0; }; - typedef IceUtil::Handle<AddProxyCallback> AddProxyCallbackPtr; + ICE_DEFINE_PTR(AddProxyCallbackPtr, AddProxyCallback); - RouterInfo(const Ice::RouterPrx&); + RouterInfo(const Ice::RouterPrxPtr&); void destroy(); @@ -76,14 +88,14 @@ public: bool operator!=(const RouterInfo&) const; bool operator<(const RouterInfo&) const; - const Ice::RouterPrx& getRouter() const + const Ice::RouterPrxPtr& getRouter() const { // // No mutex lock necessary, _router is immutable. // return _router; } - void getClientProxyResponse(const Ice::ObjectPrx&, const GetClientEndpointsCallbackPtr&); + void getClientProxyResponse(const Ice::ObjectPrxPtr&, const GetClientEndpointsCallbackPtr&); void getClientProxyException(const Ice::Exception&, const GetClientEndpointsCallbackPtr&); std::vector<EndpointIPtr> getClientEndpoints(); void getClientEndpoints(const GetClientEndpointsCallbackPtr&); @@ -93,7 +105,7 @@ public: { public: - AddProxyCookie(const AddProxyCallbackPtr cb, const Ice::ObjectPrx& proxy) : + AddProxyCookie(const AddProxyCallbackPtr cb, const Ice::ObjectPrxPtr& proxy) : _cb(cb), _proxy(proxy) { @@ -104,7 +116,7 @@ public: return _cb; } - Ice::ObjectPrx proxy() const + Ice::ObjectPrxPtr proxy() const { return _proxy; } @@ -112,14 +124,14 @@ public: private: const AddProxyCallbackPtr _cb; - const Ice::ObjectPrx _proxy; + const Ice::ObjectPrxPtr _proxy; }; typedef IceUtil::Handle<AddProxyCookie> AddProxyCookiePtr; void addProxyResponse(const Ice::ObjectProxySeq&, const AddProxyCookiePtr&); void addProxyException(const Ice::Exception&, const AddProxyCookiePtr&); - void addProxy(const Ice::ObjectPrx&); - bool addProxy(const Ice::ObjectPrx&, const AddProxyCallbackPtr&); + void addProxy(const Ice::ObjectPrxPtr&); + bool addProxy(const Ice::ObjectPrxPtr&, const AddProxyCallbackPtr&); void setAdapter(const Ice::ObjectAdapterPtr&); Ice::ObjectAdapterPtr getAdapter() const; @@ -129,13 +141,13 @@ public: // // The following methods need to be public for access by AMI callbacks. // - std::vector<EndpointIPtr> setClientEndpoints(const Ice::ObjectPrx&); - std::vector<EndpointIPtr> setServerEndpoints(const Ice::ObjectPrx&); - void addAndEvictProxies(const Ice::ObjectPrx&, const Ice::ObjectProxySeq&); + std::vector<EndpointIPtr> setClientEndpoints(const Ice::ObjectPrxPtr&); + std::vector<EndpointIPtr> setServerEndpoints(const Ice::ObjectPrxPtr&); + void addAndEvictProxies(const Ice::ObjectPrxPtr&, const Ice::ObjectProxySeq&); private: - const Ice::RouterPrx _router; + const Ice::RouterPrxPtr _router; std::vector<EndpointIPtr> _clientEndpoints; std::vector<EndpointIPtr> _serverEndpoints; Ice::ObjectAdapterPtr _adapter; diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp index 1035955b050..094b6f9734e 100644 --- a/cpp/src/Ice/Selector.cpp +++ b/cpp/src/Ice/Selector.cpp @@ -77,11 +77,13 @@ Selector::initialize(EventHandler* handler) ex.error = GetLastError(); throw ex; } - handler->__incRef(); handler->getNativeInfo()->initialize(_handle, reinterpret_cast<ULONG_PTR>(handler)); #else +# ifdef ICE_CPP11_MAPPING + EventHandlerPtr h = dynamic_pointer_cast<EventHandler>(handler->shared_from_this()); +# else EventHandlerPtr h = handler; - handler->__incRef(); +# endif handler->getNativeInfo()->setCompletedHandler( ref new SocketOperationCompletedHandler( [=](int operation) @@ -117,7 +119,6 @@ Selector::finish(IceInternal::EventHandler* handler) { handler->_registered = SocketOperationNone; handler->_finish = false; // Ensures that finished() is only called once on the event handler. - handler->__decRef(); } void @@ -721,7 +722,12 @@ Selector::finishSelect(vector<pair<EventHandler*, SocketOperation> >& handlers) continue; // Interrupted } +#ifdef ICE_CPP11_MAPPING + map<EventHandlerPtr, SocketOperation>::iterator q = _readyHandlers.find( + dynamic_pointer_cast<EventHandler>(p.first->shared_from_this())); +#else map<EventHandlerPtr, SocketOperation>::iterator q = _readyHandlers.find(p.first); +#endif if(q != _readyHandlers.end()) // Handler will be added by the loop below { q->second = p.second; // We just remember which operations are ready here. @@ -831,12 +837,22 @@ Selector::checkReady(EventHandler* handler) { if(handler->_ready & ~handler->_disabled & handler->_registered) { +#ifdef ICE_CPP11_MAPPING + _readyHandlers.insert(make_pair(dynamic_pointer_cast<EventHandler>(handler->shared_from_this()), + SocketOperationNone)); +#else _readyHandlers.insert(make_pair(handler, SocketOperationNone)); +#endif wakeup(); } else { +#ifdef ICE_CPP11_MAPPING + map<EventHandlerPtr, SocketOperation>::iterator p = + _readyHandlers.find(dynamic_pointer_cast<EventHandler>(handler->shared_from_this())); +#else map<EventHandlerPtr, SocketOperation>::iterator p = _readyHandlers.find(handler); +#endif if(p != _readyHandlers.end()) { _readyHandlers.erase(p); diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp index f2be014be70..3ed40a27d6c 100644 --- a/cpp/src/Ice/Service.cpp +++ b/cpp/src/Ice/Service.cpp @@ -196,7 +196,7 @@ public: virtual Ice::LoggerPtr cloneWithPrefix(const string& prefix) { - return new SMEventLoggerIWrapper(_logger, prefix); + return ICE_MAKE_SHARED(SMEventLoggerIWrapper, _logger, prefix); } private: @@ -585,10 +585,10 @@ Ice::Service::main(int& argc, char* argv[], const InitializationData& initializa // our own logger. // _logger = getProcessLogger(); - if(LoggerIPtr::dynamicCast(_logger)) + if(ICE_DYNAMIC_CAST(LoggerI, _logger)) { string eventLogSource = initData.properties->getPropertyWithDefault("Ice.EventLog.Source", name); - _logger = new SMEventLoggerIWrapper(new SMEventLoggerI(eventLogSource, stringConverter), ""); + _logger = ICE_MAKE_SHARED(SMEventLoggerIWrapper, new SMEventLoggerI(eventLogSource, stringConverter), ""); setProcessLogger(_logger); } @@ -712,14 +712,14 @@ Ice::Service::main(int& argc, char* argv[], const InitializationData& initializa if(!_logger) { _logger = getProcessLogger(); - if(LoggerIPtr::dynamicCast(_logger)) + if(ICE_DYNAMIC_CAST(LoggerI, _logger)) { const bool convert = initData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) > 0 && initData.properties->getProperty("Ice.StdErr").empty(); - _logger = new LoggerI(initData.properties->getProperty("Ice.ProgramName"), "", convert, - IceUtil::getProcessStringConverter()); + _logger = ICE_MAKE_SHARED(LoggerI, initData.properties->getProperty("Ice.ProgramName"), "", convert, + IceUtil::getProcessStringConverter()); setProcessLogger(_logger); } } diff --git a/cpp/src/Ice/SlicedData.cpp b/cpp/src/Ice/SlicedData.cpp index b47da253e7f..d721b1c6c91 100644 --- a/cpp/src/Ice/SlicedData.cpp +++ b/cpp/src/Ice/SlicedData.cpp @@ -13,15 +13,19 @@ using namespace std; using namespace Ice; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* Ice::upCast(SliceInfo* p) { return p; } IceUtil::Shared* Ice::upCast(SlicedData* p) { return p; } IceUtil::Shared* Ice::upCast(UnknownSlicedObject* p) { return p; } +#endif Ice::SlicedData::SlicedData(const SliceInfoSeq& seq) : slices(seq) { } + +#ifndef ICE_CPP11_MAPPING void Ice::SlicedData::__gcVisitMembers(IceInternal::GCVisitor& visitor) { @@ -39,6 +43,7 @@ Ice::SlicedData::__gcVisitMembers(IceInternal::GCVisitor& visitor) } } } +#endif Ice::UnknownSlicedObject::UnknownSlicedObject(const string& unknownTypeId) : _unknownTypeId(unknownTypeId) { @@ -56,6 +61,7 @@ Ice::UnknownSlicedObject::getSlicedData() const return _slicedData; } +#ifndef ICE_CPP11_MAPPING void Ice::UnknownSlicedObject::__gcVisitMembers(IceInternal::GCVisitor& _v) { @@ -64,6 +70,7 @@ Ice::UnknownSlicedObject::__gcVisitMembers(IceInternal::GCVisitor& _v) _slicedData->__gcVisitMembers(_v); } } +#endif void Ice::UnknownSlicedObject::__write(IceInternal::BasicStream* __os) const diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index 050c32c07ce..a44f891972b 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -121,10 +121,10 @@ InputStreamI::readAndCheckSeqSize(int minSize) return _is->readAndCheckSeqSize(minSize); } -ObjectPrx +ObjectPrxPtr InputStreamI::readProxy() { - ObjectPrx v; + ObjectPrxPtr v; _is->read(v); return v; } @@ -133,7 +133,7 @@ namespace { void -patchObject(void* addr, const ObjectPtr& v) +patchObject(void* addr, const ValuePtr& v) { ReadObjectCallback* cb = static_cast<ReadObjectCallback*>(addr); assert(cb); @@ -454,7 +454,7 @@ OutputStreamI::communicator() const } void -OutputStreamI::writeObject(const ObjectPtr& v) +OutputStreamI::writeObject(const ValuePtr& v) { _os->write(v); } @@ -466,7 +466,7 @@ OutputStreamI::writeException(const UserException& v) } void -OutputStreamI::writeProxy(const ObjectPrx& v) +OutputStreamI::writeProxy(const ObjectPrxPtr& v) { _os->write(v); } diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h index 11b659a59c7..d2b8fad2c89 100644 --- a/cpp/src/Ice/StreamI.h +++ b/cpp/src/Ice/StreamI.h @@ -41,7 +41,7 @@ public: virtual Int readSize(); virtual Int readAndCheckSeqSize(int); - virtual ObjectPrx readProxy(); + virtual ObjectPrxPtr readProxy(); virtual void readObject(const ReadObjectCallbackPtr&); virtual void throwException(); @@ -125,9 +125,9 @@ public: virtual CommunicatorPtr communicator() const; - virtual void writeObject(const ObjectPtr&); + virtual void writeObject(const ValuePtr&); virtual void writeException(const UserException&); - virtual void writeProxy(const ObjectPrx&); + virtual void writeProxy(const ObjectPrxPtr&); virtual void writeSize(Int); diff --git a/cpp/src/Ice/SysLoggerI.cpp b/cpp/src/Ice/SysLoggerI.cpp index 0768efc5b77..99e88c7810f 100644 --- a/cpp/src/Ice/SysLoggerI.cpp +++ b/cpp/src/Ice/SysLoggerI.cpp @@ -163,5 +163,5 @@ Ice::SysLoggerI::getPrefix() Ice::LoggerPtr Ice::SysLoggerI::cloneWithPrefix(const string& prefix) { - return new SysLoggerI(prefix, _facility); + return ICE_MAKE_SHARED(SysLoggerI, prefix, _facility); } diff --git a/cpp/src/Ice/SysLoggerI.h b/cpp/src/Ice/SysLoggerI.h index c83eab0a435..c7ceb99d9a4 100644 --- a/cpp/src/Ice/SysLoggerI.h +++ b/cpp/src/Ice/SysLoggerI.h @@ -21,6 +21,7 @@ class SysLoggerI : public Logger, public ::IceUtil::Mutex public: SysLoggerI(const std::string&, const std::string&); + SysLoggerI(const std::string&, int); ~SysLoggerI(); virtual void print(const std::string&); @@ -32,8 +33,6 @@ public: private: - SysLoggerI(const std::string&, int); - int _facility; const std::string _prefix; }; diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp index 5e744c394bb..b30edcb0be7 100644 --- a/cpp/src/Ice/TcpEndpointI.cpp +++ b/cpp/src/Ice/TcpEndpointI.cpp @@ -21,7 +21,9 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(TcpEndpointI* p) { return p; } +#endif extern "C" { @@ -62,7 +64,12 @@ IceInternal::TcpEndpointI::TcpEndpointI(const ProtocolInstancePtr& instance, Bas EndpointInfoPtr IceInternal::TcpEndpointI::getInfo() const { +#ifdef ICE_CPP11_MAPPING + TCPEndpointInfoPtr info = make_shared<InfoI<Ice::TCPEndpointInfo>>( + dynamic_pointer_cast<TcpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this()))); +#else TCPEndpointInfoPtr info = new InfoI<Ice::TCPEndpointInfo>(const_cast<TcpEndpointI*>(this)); +#endif fillEndpointInfo(info.get()); return info; } @@ -70,7 +77,12 @@ IceInternal::TcpEndpointI::getInfo() const EndpointInfoPtr IceInternal::TcpEndpointI::getWSInfo(const string& resource) const { +#ifdef ICE_CPP11_MAPPING + WSEndpointInfoPtr info = make_shared<InfoI<Ice::WSEndpointInfo>>( + dynamic_pointer_cast<TcpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this()))); +#else WSEndpointInfoPtr info = new InfoI<Ice::WSEndpointInfo>(const_cast<TcpEndpointI*>(this)); +#endif fillEndpointInfo(info.get()); info->resource = resource; return info; @@ -87,11 +99,15 @@ IceInternal::TcpEndpointI::timeout(Int timeout) const { if(timeout == _timeout) { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<TcpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<TcpEndpointI*>(this); +#endif } else { - return new TcpEndpointI(_instance, _host, _port, _sourceAddr, timeout, _connectionId, _compress); + return ICE_MAKE_SHARED(TcpEndpointI, _instance, _host, _port, _sourceAddr, timeout, _connectionId, _compress); } } @@ -106,11 +122,15 @@ IceInternal::TcpEndpointI::compress(bool compress) const { if(compress == _compress) { +#ifdef ICE_CPP11_MAPPING + return dynamic_pointer_cast<TcpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())); +#else return const_cast<TcpEndpointI*>(this); +#endif } else { - return new TcpEndpointI(_instance, _host, _port, _sourceAddr, _timeout, _connectionId, compress); + return ICE_MAKE_SHARED(TcpEndpointI, _instance, _host, _port, _sourceAddr, _timeout, _connectionId, compress); } } @@ -123,19 +143,23 @@ IceInternal::TcpEndpointI::datagram() const TransceiverPtr IceInternal::TcpEndpointI::transceiver() const { - return 0; + return ICE_NULLPTR; } AcceptorPtr IceInternal::TcpEndpointI::acceptor(const string&) const { +#ifdef ICE_CPP11_MAPPING + return new TcpAcceptor(dynamic_pointer_cast<TcpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())), _instance, _host, _port); +#else return new TcpAcceptor(const_cast<TcpEndpointI*>(this), _instance, _host, _port); +#endif } TcpEndpointIPtr IceInternal::TcpEndpointI::endpoint(const TcpAcceptorPtr& acceptor) const { - return new TcpEndpointI(_instance, _host, acceptor->effectivePort(), _sourceAddr, _timeout, _connectionId, + return ICE_MAKE_SHARED(TcpEndpointI, _instance, _host, acceptor->effectivePort(), _sourceAddr, _timeout, _connectionId, _compress); } @@ -171,7 +195,11 @@ IceInternal::TcpEndpointI::options() const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::TcpEndpointI::operator==(const EndpointI& r) const +#else IceInternal::TcpEndpointI::operator==(const LocalObject& r) const +#endif { if(!IPEndpointI::operator==(r)) { @@ -198,12 +226,15 @@ IceInternal::TcpEndpointI::operator==(const LocalObject& r) const { return false; } - return true; } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::TcpEndpointI::operator<(const EndpointI& r) const +#else IceInternal::TcpEndpointI::operator<(const LocalObject& r) const +#endif { const TcpEndpointI* p = dynamic_cast<const TcpEndpointI*>(&r); if(!p) @@ -330,7 +361,7 @@ IceInternal::TcpEndpointI::createConnector(const Address& address, const Network IPEndpointIPtr IceInternal::TcpEndpointI::createEndpoint(const string& host, int port, const string& connectionId) const { - return new TcpEndpointI(_instance, host, port, _sourceAddr, _timeout, connectionId, _compress); + return ICE_MAKE_SHARED(TcpEndpointI, _instance, host, port, _sourceAddr, _timeout, connectionId, _compress); } IceInternal::TcpEndpointFactory::TcpEndpointFactory(const ProtocolInstancePtr& instance) : _instance(instance) @@ -356,7 +387,7 @@ IceInternal::TcpEndpointFactory::protocol() const EndpointIPtr IceInternal::TcpEndpointFactory::create(vector<string>& args, bool oaEndpoint) const { - IPEndpointIPtr endpt = new TcpEndpointI(_instance); + IPEndpointIPtr endpt = ICE_MAKE_SHARED(TcpEndpointI, _instance); endpt->initWithOptions(args, oaEndpoint); return endpt; } @@ -364,7 +395,7 @@ IceInternal::TcpEndpointFactory::create(vector<string>& args, bool oaEndpoint) c EndpointIPtr IceInternal::TcpEndpointFactory::read(BasicStream* s) const { - return new TcpEndpointI(_instance, s); + return ICE_MAKE_SHARED(TcpEndpointI, _instance, s); } void diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h index d29498fc181..6c93a1491ec 100644 --- a/cpp/src/Ice/TcpEndpointI.h +++ b/cpp/src/Ice/TcpEndpointI.h @@ -41,9 +41,13 @@ public: virtual AcceptorPtr acceptor(const std::string&) const; virtual std::string options() const; +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const; + virtual bool operator<(const EndpointI&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; - +#endif TcpEndpointIPtr endpoint(const TcpAcceptorPtr&) const; using IPEndpointI::connectionId; diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp index 7ca16363d83..6e744ff4919 100644 --- a/cpp/src/Ice/TcpTransceiver.cpp +++ b/cpp/src/Ice/TcpTransceiver.cpp @@ -103,7 +103,7 @@ IceInternal::TcpTransceiver::toDetailedString() const Ice::ConnectionInfoPtr IceInternal::TcpTransceiver::getInfo() const { - TCPConnectionInfoPtr info = new TCPConnectionInfo(); + TCPConnectionInfoPtr info = ICE_MAKE_SHARED(TCPConnectionInfo); fillConnectionInfo(info); return info; } @@ -111,7 +111,7 @@ IceInternal::TcpTransceiver::getInfo() const Ice::ConnectionInfoPtr IceInternal::TcpTransceiver::getWSInfo(const Ice::HeaderDict& headers) const { - WSConnectionInfoPtr info = new WSConnectionInfo(); + WSConnectionInfoPtr info = ICE_MAKE_SHARED(WSConnectionInfo); fillConnectionInfo(info); info->headers = headers; return info; diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp index 0de8b971559..95ca1000e7d 100644 --- a/cpp/src/Ice/ThreadPool.cpp +++ b/cpp/src/Ice/ThreadPool.cpp @@ -345,7 +345,7 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p const_cast<int&>(_priority) = properties->getPropertyAsInt("Ice.ThreadPriority"); } - _workQueue = new ThreadPoolWorkQueue(*this); + _workQueue = ICE_MAKE_SHARED(ThreadPoolWorkQueue, *this); _selector.initialize(_workQueue.get()); if(_instance->traceLevels()->threadPool >= 1) @@ -674,7 +674,11 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread) if(_nextHandler != _handlers.end()) { current._ioCompleted = false; +#ifdef ICE_CPP11_MAPPING + current._handler = dynamic_pointer_cast<EventHandler>(_nextHandler->first->shared_from_this()); +#else current._handler = _nextHandler->first; +#endif current.operation = _nextHandler->second; ++_nextHandler; thread->setState(ThreadStateInUseForIO); @@ -726,10 +730,20 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread) { current._ioCompleted = false; #ifdef ICE_OS_WINRT +# ifdef ICE_CPP11_MAPPING + current._handler = dynamic_pointer_cast<EventHandler>( + _selector.getNextHandler(current.operation, _threadIdleTime)->shared_from_this()); +# else current._handler = _selector.getNextHandler(current.operation, _threadIdleTime); +# endif #else +# ifdef ICE_CPP11_MAPPING + current._handler = dynamic_pointer_cast<EventHandler>(_selector.getNextHandler(current.operation, + current._count, current._error, _threadIdleTime)->shared_from_this()); +# else current._handler = _selector.getNextHandler(current.operation, current._count, current._error, _threadIdleTime); +# endif #endif } catch(const SelectorTimeoutException&) @@ -776,10 +790,20 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread) try { #ifdef ICE_OS_WINRT +# ifdef ICE_CPP11_MAPPING + current._handler = dynamic_pointer_cast<EventHandler>(_selector.getNextHandler( + current.operation, _serverIdleTime)->shared_from_this()); +# else current._handler = _selector.getNextHandler(current.operation, _serverIdleTime); +# endif #else +# ifdef ICE_CPP11_MAPPING + current._handler = dynamic_pointer_cast<EventHandler>(_selector.getNextHandler(current.operation, + current._count, current._error, _serverIdleTime)->shared_from_this()); +# else current._handler = _selector.getNextHandler(current.operation, current._count, current._error, - _serverIdleTime); + _serverIdleTime); +# endif #endif } catch(const SelectorTimeoutException&) diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h index f97ff363f1b..c6db0465bee 100644 --- a/cpp/src/Ice/ThreadPool.h +++ b/cpp/src/Ice/ThreadPool.h @@ -35,7 +35,7 @@ namespace IceInternal class ThreadPoolCurrent; class ThreadPoolWorkQueue; -typedef IceUtil::Handle<ThreadPoolWorkQueue> ThreadPoolWorkQueuePtr; +ICE_DEFINE_PTR(ThreadPoolWorkQueuePtr, ThreadPoolWorkQueue); class ThreadPoolWorkItem : virtual public IceUtil::Shared { diff --git a/cpp/src/Ice/TraceUtil.cpp b/cpp/src/Ice/TraceUtil.cpp index c0c19e7a22b..19f672b1459 100644 --- a/cpp/src/Ice/TraceUtil.cpp +++ b/cpp/src/Ice/TraceUtil.cpp @@ -73,21 +73,21 @@ printRequestHeader(ostream& s, BasicStream& stream) Byte mode; stream.read(mode); s << "\nmode = " << static_cast<int>(mode) << ' '; - switch(mode) + switch(static_cast<OperationMode>(mode)) { - case Normal: + case ICE_ENUM(OperationMode, Normal): { s << "(normal)"; break; } - case Nonmutating: + case ICE_ENUM(OperationMode, Nonmutating): { s << "(nonmutating)"; break; } - case Idempotent: + case ICE_ENUM(OperationMode, Idempotent): { s << "(idempotent)"; break; diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp index 019ff02a368..cffe27fb7ec 100644 --- a/cpp/src/Ice/UdpEndpointI.cpp +++ b/cpp/src/Ice/UdpEndpointI.cpp @@ -22,7 +22,9 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(UdpEndpointI* p) { return p; } +#endif extern "C" { @@ -76,7 +78,12 @@ IceInternal::UdpEndpointI::UdpEndpointI(const ProtocolInstancePtr& instance, Bas EndpointInfoPtr IceInternal::UdpEndpointI::getInfo() const { +#ifdef ICE_CPP11_MAPPING + Ice::UDPEndpointInfoPtr info = make_shared<InfoI<Ice::UDPEndpointInfo>>( + dynamic_pointer_cast<UdpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this()))); +#else Ice::UDPEndpointInfoPtr info = new InfoI<Ice::UDPEndpointInfo>(const_cast<UdpEndpointI*>(this)); +#endif fillEndpointInfo(info.get()); return info; } @@ -90,7 +97,11 @@ IceInternal::UdpEndpointI::timeout() const EndpointIPtr IceInternal::UdpEndpointI::timeout(Int) const { +#ifdef ICE_CPP11_MAPPING + return const_pointer_cast<EndpointI>(shared_from_this()); +#else return const_cast<UdpEndpointI*>(this); +#endif } bool @@ -104,12 +115,16 @@ IceInternal::UdpEndpointI::compress(bool compress) const { if(compress == _compress) { +#ifdef ICE_CPP11_MAPPING + return const_pointer_cast<EndpointI>(shared_from_this()); +#else return const_cast<UdpEndpointI*>(this); +#endif } else { - return new UdpEndpointI(_instance, _host, _port, _sourceAddr, _mcastInterface, _mcastTtl, _connect, - _connectionId, compress); + return ICE_MAKE_SHARED(UdpEndpointI, _instance, _host, _port, _sourceAddr, _mcastInterface, _mcastTtl, + _connect, _connectionId, compress); } } @@ -122,7 +137,12 @@ IceInternal::UdpEndpointI::datagram() const TransceiverPtr IceInternal::UdpEndpointI::transceiver() const { +#ifdef ICE_CPP11_MAPPING + return new UdpTransceiver(dynamic_pointer_cast<UdpEndpointI>(const_pointer_cast<EndpointI>(shared_from_this())), + _instance, _host, _port, _mcastInterface, _connect); +#else return new UdpTransceiver(const_cast<UdpEndpointI*>(this), _instance, _host, _port, _mcastInterface, _connect); +#endif } AcceptorPtr @@ -134,8 +154,8 @@ IceInternal::UdpEndpointI::acceptor(const string&) const UdpEndpointIPtr IceInternal::UdpEndpointI::endpoint(const UdpTransceiverPtr& transceiver) const { - return new UdpEndpointI(_instance, _host, transceiver->effectivePort(), _sourceAddr, _mcastInterface, _mcastTtl, - _connect, _connectionId, _compress); + return ICE_MAKE_SHARED(UdpEndpointI, _instance, _host, transceiver->effectivePort(), _sourceAddr, _mcastInterface, + _mcastTtl, _connect, _connectionId, _compress); } string @@ -175,7 +195,11 @@ IceInternal::UdpEndpointI::options() const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::UdpEndpointI::operator==(const EndpointI& r) const +#else IceInternal::UdpEndpointI::operator==(const LocalObject& r) const +#endif { if(!IPEndpointI::operator==(r)) { @@ -217,7 +241,11 @@ IceInternal::UdpEndpointI::operator==(const LocalObject& r) const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::UdpEndpointI::operator<(const EndpointI& r) const +#else IceInternal::UdpEndpointI::operator<(const LocalObject& r) const +#endif { const UdpEndpointI* p = dynamic_cast<const UdpEndpointI*>(&r); if(!p) @@ -406,8 +434,8 @@ IceInternal::UdpEndpointI::createConnector(const Address& address, const Network IPEndpointIPtr IceInternal::UdpEndpointI::createEndpoint(const string& host, int port, const string& connectionId) const { - return new UdpEndpointI(_instance, host, port, _sourceAddr, _mcastInterface, _mcastTtl, _connect, connectionId, - _compress); + return ICE_MAKE_SHARED(UdpEndpointI, _instance, host, port, _sourceAddr, _mcastInterface, _mcastTtl, _connect, + connectionId, _compress); } IceInternal::UdpEndpointFactory::UdpEndpointFactory(const ProtocolInstancePtr& instance) : _instance(instance) @@ -433,7 +461,7 @@ IceInternal::UdpEndpointFactory::protocol() const EndpointIPtr IceInternal::UdpEndpointFactory::create(vector<string>& args, bool oaEndpoint) const { - IPEndpointIPtr endpt = new UdpEndpointI(_instance); + IPEndpointIPtr endpt = ICE_MAKE_SHARED(UdpEndpointI, _instance); endpt->initWithOptions(args, oaEndpoint); return endpt; } @@ -441,7 +469,7 @@ IceInternal::UdpEndpointFactory::create(vector<string>& args, bool oaEndpoint) c EndpointIPtr IceInternal::UdpEndpointFactory::read(BasicStream* s) const { - return new UdpEndpointI(_instance, s); + return ICE_MAKE_SHARED(UdpEndpointI, _instance, s); } void diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h index 30ab27fb51e..66913066c15 100644 --- a/cpp/src/Ice/UdpEndpointI.h +++ b/cpp/src/Ice/UdpEndpointI.h @@ -39,9 +39,14 @@ public: virtual AcceptorPtr acceptor(const std::string&) const; virtual std::string options() const; +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const; + virtual bool operator<(const EndpointI&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; - +#endif + UdpEndpointIPtr endpoint(const UdpTransceiverPtr&) const; using IPEndpointI::connectionId; diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index b1b3c8562b6..072fbe52da1 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -821,7 +821,7 @@ IceInternal::UdpTransceiver::toDetailedString() const Ice::ConnectionInfoPtr IceInternal::UdpTransceiver::getInfo() const { - Ice::UDPConnectionInfoPtr info = new Ice::UDPConnectionInfo(); + Ice::UDPConnectionInfoPtr info = ICE_MAKE_SHARED(Ice::UDPConnectionInfo); #if defined(ICE_OS_WINRT) if(isMulticast(_addr) || isAddressValid(_mcastAddr)) { diff --git a/cpp/src/Ice/Value.cpp b/cpp/src/Ice/Value.cpp new file mode 100644 index 00000000000..b791bd59d3d --- /dev/null +++ b/cpp/src/Ice/Value.cpp @@ -0,0 +1,69 @@ +// ********************************************************************** +// +// 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/Value.h> +#include <Ice/Stream.h> +#include <Ice/LocalException.h> + +#ifdef ICE_CPP11_MAPPING + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +void +Ice::Value::ice_preMarshal() +{ +} + +void +Ice::Value::ice_postUnmarshal() +{ +} + +void +Ice::Value::__write(IceInternal::BasicStream* os) const +{ + os->startWriteObject(0); + __writeImpl(os); + os->endWriteObject(); +} + +void +Ice::Value::__read(IceInternal::BasicStream* is) +{ + is->startReadObject(); + __readImpl(is); + is->endReadObject(false); +} + +namespace +{ + +const string __Ice__Object_ids[] = +{ + "::Ice::Object" +}; + +} + +const string& +Ice::Value::ice_id() const +{ + return __Ice__Object_ids[0]; +} + + +const string& +Ice::Value::ice_staticId() +{ + return __Ice__Object_ids[0]; +} + +#endif diff --git a/cpp/src/Ice/VirtualShared.h b/cpp/src/Ice/VirtualShared.h new file mode 100644 index 00000000000..4de4d0b17bc --- /dev/null +++ b/cpp/src/Ice/VirtualShared.h @@ -0,0 +1,31 @@ +// ********************************************************************** +// +// 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_VIRTUAL_SHARED_H +#define ICE_VIRTUAL_SHARED_H + +#include <IceUtil/Config.h> + +#ifdef ICE_CPP11_MAPPING + +namespace IceInternal +{ + +class VirtualShared : public ::std::enable_shared_from_this<VirtualShared> +{ +public: + + virtual ~VirtualShared() = default; +}; + +} + +#endif + +#endif diff --git a/cpp/src/Ice/WSEndpoint.cpp b/cpp/src/Ice/WSEndpoint.cpp index d23b952b6b5..c1f9c520b18 100644 --- a/cpp/src/Ice/WSEndpoint.cpp +++ b/cpp/src/Ice/WSEndpoint.cpp @@ -20,15 +20,20 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifndef ICE_CPP11_MAPPING IceUtil::Shared* IceInternal::upCast(WSEndpoint* p) { return p; } +#endif IceInternal::WSEndpoint::WSEndpoint(const ProtocolInstancePtr& instance, const EndpointIPtr& del, const string& res) : - _instance(instance), _delegate(IPEndpointIPtr::dynamicCast(del)), _resource(res) + _instance(instance), + _delegate(ICE_DYNAMIC_CAST(IPEndpointI, del)), + _resource(res) { } IceInternal::WSEndpoint::WSEndpoint(const ProtocolInstancePtr& inst, const EndpointIPtr& del, vector<string>& args) : - _instance(inst), _delegate(IPEndpointIPtr::dynamicCast(del)) + _instance(inst), + _delegate(ICE_DYNAMIC_CAST(IPEndpointI, del)) { initWithOptions(args); @@ -39,7 +44,8 @@ IceInternal::WSEndpoint::WSEndpoint(const ProtocolInstancePtr& inst, const Endpo } IceInternal::WSEndpoint::WSEndpoint(const ProtocolInstancePtr& instance, const EndpointIPtr& del, BasicStream* s) : - _instance(instance), _delegate(IPEndpointIPtr::dynamicCast(del)) + _instance(instance), + _delegate(ICE_DYNAMIC_CAST(IPEndpointI, del)) { s->read(const_cast<string&>(_resource), false); } @@ -47,8 +53,13 @@ IceInternal::WSEndpoint::WSEndpoint(const ProtocolInstancePtr& instance, const E Ice::EndpointInfoPtr IceInternal::WSEndpoint::getInfo() const { +#ifdef ICE_CPP11_MAPPING + assert(dynamic_pointer_cast<WSEndpointDelegate>(_delegate)); + return dynamic_pointer_cast<WSEndpointDelegate>(_delegate)->getWSInfo(_resource); +#else assert(dynamic_cast<WSEndpointDelegate*>(_delegate.get())); return dynamic_cast<WSEndpointDelegate*>(_delegate.get())->getWSInfo(_resource); +#endif } Ice::Short @@ -83,11 +94,15 @@ IceInternal::WSEndpoint::timeout(Int timeout) const { if(timeout == _delegate->timeout()) { +#ifdef ICE_CPP11_MAPPING + return const_pointer_cast<EndpointI>(shared_from_this()); +#else return const_cast<WSEndpoint*>(this); +#endif } else { - return new WSEndpoint(_instance, _delegate->timeout(timeout), _resource); + return ICE_MAKE_SHARED(WSEndpoint, _instance, _delegate->timeout(timeout), _resource); } } @@ -102,11 +117,15 @@ IceInternal::WSEndpoint::connectionId(const string& connectionId) const { if(connectionId == _delegate->connectionId()) { +#ifdef ICE_CPP11_MAPPING + return const_pointer_cast<EndpointI>(shared_from_this()); +#else return const_cast<WSEndpoint*>(this); +#endif } else { - return new WSEndpoint(_instance, _delegate->connectionId(connectionId), _resource); + return ICE_MAKE_SHARED(WSEndpoint, _instance, _delegate->connectionId(connectionId), _resource); } } @@ -121,11 +140,15 @@ IceInternal::WSEndpoint::compress(bool compress) const { if(compress == _delegate->compress()) { +#ifdef ICE_CPP11_MAPPING + return const_pointer_cast<EndpointI>(shared_from_this()); +#else return const_cast<WSEndpoint*>(this); +#endif } else { - return new WSEndpoint(_instance, _delegate->compress(compress), _resource); + return ICE_MAKE_SHARED(WSEndpoint, _instance, _delegate->compress(compress), _resource); } } @@ -184,21 +207,26 @@ IceInternal::WSEndpoint::connectors_async(Ice::EndpointSelectionType selType, const int _port; const string _resource; }; - _delegate->connectors_async(selType, new CallbackI(callback, _instance, _delegate->host(), _delegate->port(), - _resource)); + _delegate->connectors_async(selType, ICE_MAKE_SHARED(CallbackI, callback, _instance, _delegate->host(), + _delegate->port(), _resource)); } AcceptorPtr IceInternal::WSEndpoint::acceptor(const string& adapterName) const { AcceptorPtr delAcc = _delegate->acceptor(adapterName); +#ifdef ICE_CPP11_MAPPING + return new WSAcceptor(dynamic_pointer_cast<WSEndpoint>(const_pointer_cast<EndpointI>(shared_from_this())), + _instance, delAcc); +#else return new WSAcceptor(const_cast<WSEndpoint*>(this), _instance, delAcc); +#endif } WSEndpointPtr IceInternal::WSEndpoint::endpoint(const EndpointIPtr& delEndp) const { - return new WSEndpoint(_instance, delEndp, _resource); + return ICE_MAKE_SHARED(WSEndpoint, _instance, delEndp, _resource); } vector<EndpointIPtr> @@ -207,7 +235,13 @@ IceInternal::WSEndpoint::expand() const vector<EndpointIPtr> endps = _delegate->expand(); for(vector<EndpointIPtr>::iterator p = endps.begin(); p != endps.end(); ++p) { +#ifdef ICE_CPP11_MAPPING + *p = p->get() == _delegate.get() ? + dynamic_pointer_cast<WSEndpoint>(const_pointer_cast<EndpointI>(shared_from_this())) : + make_shared<WSEndpoint>(_instance, *p, _resource); +#else *p = p->get() == _delegate.get() ? const_cast<WSEndpoint*>(this) : new WSEndpoint(_instance, *p, _resource); +#endif } return endps; } @@ -265,11 +299,15 @@ IceInternal::WSEndpoint::options() const EndpointIPtr IceInternal::WSEndpoint::delegate() const { - return EndpointIPtr::dynamicCast(_delegate); + return ICE_DYNAMIC_CAST(EndpointI, _delegate); } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::WSEndpoint::operator==(const EndpointI& r) const +#else IceInternal::WSEndpoint::operator==(const Ice::LocalObject& r) const +#endif { const WSEndpoint* p = dynamic_cast<const WSEndpoint*>(&r); if(!p) @@ -296,7 +334,11 @@ IceInternal::WSEndpoint::operator==(const Ice::LocalObject& r) const } bool +#ifdef ICE_CPP11_MAPPING +IceInternal::WSEndpoint::operator<(const EndpointI& r) const +#else IceInternal::WSEndpoint::operator<(const Ice::LocalObject& r) const +#endif { const WSEndpoint* p = dynamic_cast<const WSEndpoint*>(&r); if(!p) @@ -385,13 +427,13 @@ IceInternal::WSEndpointFactory::protocol() const EndpointIPtr IceInternal::WSEndpointFactory::create(vector<string>& args, bool oaEndpoint) const { - return new WSEndpoint(_instance, _delegate->create(args, oaEndpoint), args); + return ICE_MAKE_SHARED(WSEndpoint, _instance, _delegate->create(args, oaEndpoint), args); } EndpointIPtr IceInternal::WSEndpointFactory::read(BasicStream* s) const { - return new WSEndpoint(_instance, _delegate->read(s), s); + return ICE_MAKE_SHARED(WSEndpoint, _instance, _delegate->read(s), s); } void diff --git a/cpp/src/Ice/WSEndpoint.h b/cpp/src/Ice/WSEndpoint.h index 6fb08211a84..a5f4a89d09a 100644 --- a/cpp/src/Ice/WSEndpoint.h +++ b/cpp/src/Ice/WSEndpoint.h @@ -65,8 +65,13 @@ public: EndpointIPtr delegate() const; WSEndpointPtr endpoint(const EndpointIPtr&) const; +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const EndpointI&) const; + virtual bool operator<(const EndpointI&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; +#endif protected: |