summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2017-02-13 18:48:57 -0500
committerJoe George <joe@zeroc.com>2017-02-13 18:48:57 -0500
commitdc5678e6988bad79336033518f8f2378f7c34cb2 (patch)
treef1b7d00d8bfde31297c4473d62ace3d05031b985 /cpp
parentConnection wizard dialog becomes readonly (diff)
parentICE-7506 - Update copyright to 2017 (diff)
downloadice-dc5678e6988bad79336033518f8f2378f7c34cb2.tar.bz2
ice-dc5678e6988bad79336033518f8f2378f7c34cb2.tar.xz
ice-dc5678e6988bad79336033518f8f2378f7c34cb2.zip
Merge remote-tracking branch 'origin/3.6'
Diffstat (limited to 'cpp')
-rw-r--r--cpp/Makefile2
-rwxr-xr-xcpp/allTests.py2
-rw-r--r--cpp/config/Make.rules2
-rw-r--r--cpp/config/Make.rules.MINGW2
-rw-r--r--cpp/config/ice_ca.cnf2
-rw-r--r--cpp/config/templates.xml2
-rw-r--r--cpp/include/Glacier2/Application.h2
-rw-r--r--cpp/include/Glacier2/Config.h2
-rw-r--r--cpp/include/Glacier2/Glacier2.h2
-rw-r--r--cpp/include/Glacier2/NullPermissionsVerifier.h2
-rw-r--r--cpp/include/Glacier2/SessionHelper.h2
-rw-r--r--cpp/include/Ice/Application.h2
-rw-r--r--cpp/include/Ice/AsyncResult.h2
-rw-r--r--cpp/include/Ice/AsyncResultF.h2
-rw-r--r--cpp/include/Ice/BatchRequestInterceptor.h2
-rw-r--r--cpp/include/Ice/BatchRequestQueueF.h2
-rw-r--r--cpp/include/Ice/Buffer.h2
-rw-r--r--cpp/include/Ice/CommunicatorAsync.h2
-rw-r--r--cpp/include/Ice/Config.h2
-rw-r--r--cpp/include/Ice/ConnectionAsync.h2
-rw-r--r--cpp/include/Ice/ConnectionIF.h2
-rw-r--r--cpp/include/Ice/DispatchInterceptor.h2
-rw-r--r--cpp/include/Ice/Dispatcher.h2
-rw-r--r--cpp/include/Ice/DynamicLibrary.h2
-rw-r--r--cpp/include/Ice/DynamicLibraryF.h2
-rw-r--r--cpp/include/Ice/Exception.h2
-rw-r--r--cpp/include/Ice/FactoryTable.h2
-rw-r--r--cpp/include/Ice/FactoryTableInit.h2
-rw-r--r--cpp/include/Ice/Format.h2
-rw-r--r--cpp/include/Ice/Functional.h2
-rw-r--r--cpp/include/Ice/GCObject.h2
-rw-r--r--cpp/include/Ice/Handle.h2
-rw-r--r--cpp/include/Ice/Ice.h2
-rw-r--r--cpp/include/Ice/Incoming.h2
-rw-r--r--cpp/include/Ice/IncomingAsync.h2
-rw-r--r--cpp/include/Ice/IncomingAsyncF.h2
-rw-r--r--cpp/include/Ice/Initialize.h2
-rw-r--r--cpp/include/Ice/InstanceF.h2
-rw-r--r--cpp/include/Ice/LocalObject.h2
-rw-r--r--cpp/include/Ice/LocalObjectF.h2
-rw-r--r--cpp/include/Ice/LoggerUtil.h2
-rw-r--r--cpp/include/Ice/MetricsAdminI.h2
-rw-r--r--cpp/include/Ice/MetricsFunctional.h2
-rw-r--r--cpp/include/Ice/MetricsObserverI.h2
-rw-r--r--cpp/include/Ice/NativePropertiesAdmin.h2
-rw-r--r--cpp/include/Ice/Object.h2
-rw-r--r--cpp/include/Ice/ObjectF.h2
-rw-r--r--cpp/include/Ice/ObserverHelper.h2
-rw-r--r--cpp/include/Ice/OutgoingAsync.h2
-rw-r--r--cpp/include/Ice/OutgoingAsyncF.h2
-rw-r--r--cpp/include/Ice/Protocol.h2
-rw-r--r--cpp/include/Ice/Proxy.h2
-rw-r--r--cpp/include/Ice/ProxyF.h2
-rw-r--r--cpp/include/Ice/ProxyFactoryF.h2
-rw-r--r--cpp/include/Ice/ProxyHandle.h2
-rw-r--r--cpp/include/Ice/ReferenceF.h2
-rw-r--r--cpp/include/Ice/RegisterPlugins.h2
-rw-r--r--cpp/include/Ice/RequestHandlerF.h2
-rw-r--r--cpp/include/Ice/ResponseHandlerF.h2
-rw-r--r--cpp/include/Ice/ServantManagerF.h2
-rw-r--r--cpp/include/Ice/Service.h2
-rw-r--r--cpp/include/Ice/SliceChecksums.h2
-rw-r--r--cpp/include/Ice/SlicedData.h2
-rw-r--r--cpp/include/Ice/SlicedDataF.h2
-rw-r--r--cpp/include/Ice/StreamHelpers.h2
-rw-r--r--cpp/include/Ice/ThreadPoolF.h2
-rw-r--r--cpp/include/Ice/UserExceptionFactory.h2
-rw-r--r--cpp/include/IceBox/Config.h2
-rw-r--r--cpp/include/IceGrid/Config.h2
-rw-r--r--cpp/include/IceGrid/IceGrid.h2
-rw-r--r--cpp/include/IceGrid/ReplicaGroupFilter.h2
-rw-r--r--cpp/include/IcePatch2/ClientUtil.h2
-rw-r--r--cpp/include/IcePatch2/Config.h2
-rw-r--r--cpp/include/IcePatch2/IcePatch2.h2
-rw-r--r--cpp/include/IceSSL/Config.h2
-rw-r--r--cpp/include/IceSSL/IceSSL.h2
-rw-r--r--cpp/include/IceSSL/Plugin.h2
-rw-r--r--cpp/include/IceStorm/Config.h2
-rw-r--r--cpp/include/IceUtil/Atomic.h2
-rw-r--r--cpp/include/IceUtil/Cond.h2
-rw-r--r--cpp/include/IceUtil/Config.h2
-rw-r--r--cpp/include/IceUtil/CountDownLatch.h2
-rw-r--r--cpp/include/IceUtil/CtrlCHandler.h2
-rw-r--r--cpp/include/IceUtil/DisableWarnings.h2
-rw-r--r--cpp/include/IceUtil/Exception.h2
-rw-r--r--cpp/include/IceUtil/Functional.h2
-rw-r--r--cpp/include/IceUtil/Handle.h2
-rw-r--r--cpp/include/IceUtil/IceUtil.h2
-rw-r--r--cpp/include/IceUtil/InputUtil.h2
-rw-r--r--cpp/include/IceUtil/Iterator.h2
-rw-r--r--cpp/include/IceUtil/Lock.h2
-rw-r--r--cpp/include/IceUtil/Monitor.h2
-rw-r--r--cpp/include/IceUtil/Mutex.h2
-rw-r--r--cpp/include/IceUtil/MutexProtocol.h2
-rw-r--r--cpp/include/IceUtil/MutexPtrLock.h2
-rw-r--r--cpp/include/IceUtil/MutexPtrTryLock.h2
-rw-r--r--cpp/include/IceUtil/Optional.h2
-rw-r--r--cpp/include/IceUtil/Options.h2
-rw-r--r--cpp/include/IceUtil/OutputUtil.h2
-rw-r--r--cpp/include/IceUtil/PopDisableWarnings.h2
-rw-r--r--cpp/include/IceUtil/PushDisableWarnings.h2
-rw-r--r--cpp/include/IceUtil/Random.h2
-rw-r--r--cpp/include/IceUtil/RecMutex.h2
-rw-r--r--cpp/include/IceUtil/ScannerConfig.h2
-rw-r--r--cpp/include/IceUtil/ScopedArray.h2
-rw-r--r--cpp/include/IceUtil/Shared.h2
-rw-r--r--cpp/include/IceUtil/StopWatch.h2
-rw-r--r--cpp/include/IceUtil/StringUtil.h2
-rw-r--r--cpp/include/IceUtil/Thread.h2
-rw-r--r--cpp/include/IceUtil/ThreadException.h2
-rw-r--r--cpp/include/IceUtil/Time.h2
-rw-r--r--cpp/include/IceUtil/Timer.h2
-rw-r--r--cpp/include/IceUtil/UUID.h2
-rw-r--r--cpp/include/IceUtil/UndefSysMacros.h2
-rw-r--r--cpp/src/Glacier2/Blobject.cpp2
-rw-r--r--cpp/src/Glacier2/Blobject.h2
-rw-r--r--cpp/src/Glacier2/ClientBlobject.cpp2
-rw-r--r--cpp/src/Glacier2/ClientBlobject.h2
-rw-r--r--cpp/src/Glacier2/FilterI.cpp2
-rw-r--r--cpp/src/Glacier2/FilterI.h2
-rw-r--r--cpp/src/Glacier2/FilterManager.cpp2
-rw-r--r--cpp/src/Glacier2/FilterManager.h2
-rw-r--r--cpp/src/Glacier2/Glacier2Router.cpp2
-rw-r--r--cpp/src/Glacier2/Instance.cpp2
-rw-r--r--cpp/src/Glacier2/Instance.h2
-rw-r--r--cpp/src/Glacier2/Instrumentation.ice2
-rw-r--r--cpp/src/Glacier2/InstrumentationI.cpp2
-rw-r--r--cpp/src/Glacier2/InstrumentationI.h2
-rw-r--r--cpp/src/Glacier2/ProxyVerifier.cpp2
-rw-r--r--cpp/src/Glacier2/ProxyVerifier.h2
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp2
-rw-r--r--cpp/src/Glacier2/RequestQueue.h2
-rw-r--r--cpp/src/Glacier2/RouterI.cpp2
-rw-r--r--cpp/src/Glacier2/RouterI.h2
-rw-r--r--cpp/src/Glacier2/RoutingTable.cpp2
-rw-r--r--cpp/src/Glacier2/RoutingTable.h2
-rw-r--r--cpp/src/Glacier2/ServerBlobject.cpp2
-rw-r--r--cpp/src/Glacier2/ServerBlobject.h2
-rw-r--r--cpp/src/Glacier2/SessionRouterI.cpp2
-rw-r--r--cpp/src/Glacier2/SessionRouterI.h2
-rw-r--r--cpp/src/Glacier2CryptPermissionsVerifier/CryptPermissionsVerifierI.cpp2
-rw-r--r--cpp/src/Glacier2Lib/Application.cpp2
-rw-r--r--cpp/src/Glacier2Lib/NullPermissionsVerifier.cpp2
-rw-r--r--cpp/src/Glacier2Lib/SessionHelper.cpp2
-rw-r--r--cpp/src/Ice/ACM.cpp2
-rw-r--r--cpp/src/Ice/ACM.h2
-rw-r--r--cpp/src/Ice/Acceptor.cpp2
-rw-r--r--cpp/src/Ice/Acceptor.h2
-rw-r--r--cpp/src/Ice/AcceptorF.h2
-rw-r--r--cpp/src/Ice/Application.cpp2
-rw-r--r--cpp/src/Ice/ArgVector.cpp2
-rw-r--r--cpp/src/Ice/AsyncResult.cpp2
-rw-r--r--cpp/src/Ice/Base64.cpp2
-rw-r--r--cpp/src/Ice/Base64.h2
-rw-r--r--cpp/src/Ice/BatchRequestQueue.cpp2
-rw-r--r--cpp/src/Ice/BatchRequestQueue.h2
-rw-r--r--cpp/src/Ice/Buffer.cpp2
-rw-r--r--cpp/src/Ice/CollocatedRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/CollocatedRequestHandler.h2
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp2
-rw-r--r--cpp/src/Ice/CommunicatorI.h2
-rw-r--r--cpp/src/Ice/Cond.cpp2
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.h2
-rw-r--r--cpp/src/Ice/ConnectRequestHandlerF.h2
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp2
-rw-r--r--cpp/src/Ice/ConnectionFactory.h2
-rw-r--r--cpp/src/Ice/ConnectionI.cpp2
-rw-r--r--cpp/src/Ice/ConnectionI.h2
-rw-r--r--cpp/src/Ice/ConnectionRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/ConnectionRequestHandler.h2
-rw-r--r--cpp/src/Ice/Connector.cpp2
-rw-r--r--cpp/src/Ice/Connector.h2
-rw-r--r--cpp/src/Ice/ConnectorF.h2
-rw-r--r--cpp/src/Ice/DLLMain.cpp2
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.cpp2
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.h2
-rw-r--r--cpp/src/Ice/DefaultsAndOverridesF.h2
-rw-r--r--cpp/src/Ice/DispatchInterceptor.cpp2
-rw-r--r--cpp/src/Ice/DynamicLibrary.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactory.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactory.h2
-rw-r--r--cpp/src/Ice/EndpointFactoryF.h2
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.h2
-rw-r--r--cpp/src/Ice/EndpointFactoryManagerF.h2
-rw-r--r--cpp/src/Ice/EndpointI.cpp2
-rw-r--r--cpp/src/Ice/EndpointI.h2
-rw-r--r--cpp/src/Ice/EndpointIF.h2
-rw-r--r--cpp/src/Ice/EventHandler.cpp2
-rw-r--r--cpp/src/Ice/EventHandler.h2
-rw-r--r--cpp/src/Ice/EventHandlerF.h2
-rwxr-xr-xcpp/src/Ice/EventLoggerMsg.mc2
-rw-r--r--cpp/src/Ice/Exception.cpp2
-rw-r--r--cpp/src/Ice/FactoryTable.cpp2
-rw-r--r--cpp/src/Ice/FactoryTableInit.cpp2
-rw-r--r--cpp/src/Ice/GCObject.cpp2
-rw-r--r--cpp/src/Ice/HashUtil.h2
-rw-r--r--cpp/src/Ice/HttpParser.cpp2
-rw-r--r--cpp/src/Ice/HttpParser.h2
-rw-r--r--cpp/src/Ice/IPEndpointI.cpp2
-rw-r--r--cpp/src/Ice/IPEndpointI.h2
-rw-r--r--cpp/src/Ice/IPEndpointIF.h2
-rw-r--r--cpp/src/Ice/ImplicitContextI.cpp2
-rw-r--r--cpp/src/Ice/ImplicitContextI.h2
-rw-r--r--cpp/src/Ice/Incoming.cpp2
-rw-r--r--cpp/src/Ice/IncomingAsync.cpp2
-rw-r--r--cpp/src/Ice/IncomingRequest.h2
-rw-r--r--cpp/src/Ice/Initialize.cpp2
-rw-r--r--cpp/src/Ice/Instance.cpp2
-rw-r--r--cpp/src/Ice/Instance.h2
-rw-r--r--cpp/src/Ice/InstrumentationI.cpp2
-rw-r--r--cpp/src/Ice/InstrumentationI.h2
-rw-r--r--cpp/src/Ice/LocalObject.cpp2
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp2
-rw-r--r--cpp/src/Ice/LocatorInfo.h2
-rw-r--r--cpp/src/Ice/LocatorInfoF.h2
-rw-r--r--cpp/src/Ice/LoggerAdminI.cpp2
-rw-r--r--cpp/src/Ice/LoggerAdminI.h2
-rw-r--r--cpp/src/Ice/LoggerI.cpp2
-rw-r--r--cpp/src/Ice/LoggerI.h2
-rw-r--r--cpp/src/Ice/LoggerUtil.cpp2
-rw-r--r--cpp/src/Ice/MetricsAdminI.cpp2
-rw-r--r--cpp/src/Ice/MetricsObserverI.cpp2
-rwxr-xr-xcpp/src/Ice/Network.cpp2
-rwxr-xr-xcpp/src/Ice/Network.h2
-rw-r--r--cpp/src/Ice/NetworkF.h2
-rw-r--r--cpp/src/Ice/NetworkProxy.cpp2
-rw-r--r--cpp/src/Ice/NetworkProxy.h2
-rw-r--r--cpp/src/Ice/NetworkProxyF.h2
-rw-r--r--cpp/src/Ice/Object.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterFactory.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterFactory.h2
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterI.h2
-rw-r--r--cpp/src/Ice/ObserverHelper.cpp2
-rw-r--r--cpp/src/Ice/OpaqueEndpointI.cpp2
-rw-r--r--cpp/src/Ice/OpaqueEndpointI.h2
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp2
-rw-r--r--cpp/src/Ice/PluginManagerI.cpp2
-rw-r--r--cpp/src/Ice/PluginManagerI.h2
-rw-r--r--cpp/src/Ice/PropertiesAdminI.cpp2
-rw-r--r--cpp/src/Ice/PropertiesAdminI.h2
-rw-r--r--cpp/src/Ice/PropertiesI.cpp2
-rw-r--r--cpp/src/Ice/PropertiesI.h2
-rw-r--r--cpp/src/Ice/PropertyNames.cpp2
-rw-r--r--cpp/src/Ice/PropertyNames.h2
-rw-r--r--cpp/src/Ice/Protocol.cpp2
-rw-r--r--cpp/src/Ice/ProtocolInstance.cpp2
-rw-r--r--cpp/src/Ice/ProtocolInstance.h2
-rw-r--r--cpp/src/Ice/ProtocolInstanceF.h2
-rw-r--r--cpp/src/Ice/ProtocolPluginFacade.cpp2
-rw-r--r--cpp/src/Ice/ProtocolPluginFacade.h2
-rw-r--r--cpp/src/Ice/ProtocolPluginFacadeF.h2
-rw-r--r--cpp/src/Ice/Proxy.cpp2
-rw-r--r--cpp/src/Ice/ProxyFactory.cpp2
-rw-r--r--cpp/src/Ice/ProxyFactory.h2
-rw-r--r--cpp/src/Ice/Reference.cpp2
-rw-r--r--cpp/src/Ice/Reference.h2
-rw-r--r--cpp/src/Ice/ReferenceFactory.cpp2
-rw-r--r--cpp/src/Ice/ReferenceFactory.h2
-rw-r--r--cpp/src/Ice/ReferenceFactoryF.h2
-rw-r--r--cpp/src/Ice/RegisterPluginsInit.cpp2
-rw-r--r--cpp/src/Ice/RegisterPluginsInit.h2
-rw-r--r--cpp/src/Ice/ReplyStatus.h2
-rw-r--r--cpp/src/Ice/RequestHandler.cpp2
-rw-r--r--cpp/src/Ice/RequestHandler.h2
-rw-r--r--cpp/src/Ice/RequestHandlerFactory.cpp2
-rw-r--r--cpp/src/Ice/RequestHandlerFactory.h2
-rw-r--r--cpp/src/Ice/ResponseHandler.cpp2
-rw-r--r--cpp/src/Ice/ResponseHandler.h2
-rw-r--r--cpp/src/Ice/RetryQueue.cpp2
-rw-r--r--cpp/src/Ice/RetryQueue.h2
-rw-r--r--cpp/src/Ice/RetryQueueF.h2
-rw-r--r--cpp/src/Ice/RouterInfo.cpp2
-rw-r--r--cpp/src/Ice/RouterInfo.h2
-rw-r--r--cpp/src/Ice/RouterInfoF.h2
-rw-r--r--cpp/src/Ice/Selector.cpp2
-rw-r--r--cpp/src/Ice/Selector.h2
-rw-r--r--cpp/src/Ice/ServantManager.cpp2
-rw-r--r--cpp/src/Ice/ServantManager.h2
-rw-r--r--cpp/src/Ice/Service.cpp2
-rw-r--r--cpp/src/Ice/SharedContext.h2
-rw-r--r--cpp/src/Ice/SliceChecksums.cpp2
-rw-r--r--cpp/src/Ice/SlicedData.cpp2
-rwxr-xr-xcpp/src/Ice/StreamSocket.cpp2
-rw-r--r--cpp/src/Ice/StreamSocket.h2
-rw-r--r--cpp/src/Ice/StringConverterPlugin.cpp2
-rw-r--r--cpp/src/Ice/SysLoggerI.cpp2
-rw-r--r--cpp/src/Ice/SysLoggerI.h2
-rwxr-xr-xcpp/src/Ice/TcpAcceptor.cpp2
-rw-r--r--cpp/src/Ice/TcpAcceptor.h2
-rw-r--r--cpp/src/Ice/TcpConnector.cpp2
-rw-r--r--cpp/src/Ice/TcpConnector.h2
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp2
-rw-r--r--cpp/src/Ice/TcpEndpointI.h2
-rw-r--r--cpp/src/Ice/TcpTransceiver.cpp2
-rw-r--r--cpp/src/Ice/TcpTransceiver.h2
-rw-r--r--cpp/src/Ice/ThreadPool.cpp2
-rw-r--r--cpp/src/Ice/ThreadPool.h2
-rw-r--r--cpp/src/Ice/TraceLevels.cpp2
-rw-r--r--cpp/src/Ice/TraceLevels.h2
-rw-r--r--cpp/src/Ice/TraceLevelsF.h2
-rw-r--r--cpp/src/Ice/TraceUtil.cpp2
-rw-r--r--cpp/src/Ice/TraceUtil.h2
-rw-r--r--cpp/src/Ice/Transceiver.cpp2
-rw-r--r--cpp/src/Ice/Transceiver.h2
-rw-r--r--cpp/src/Ice/TransceiverF.h2
-rw-r--r--cpp/src/Ice/UdpConnector.cpp2
-rw-r--r--cpp/src/Ice/UdpConnector.h2
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp2
-rw-r--r--cpp/src/Ice/UdpEndpointI.h2
-rwxr-xr-xcpp/src/Ice/UdpTransceiver.cpp2
-rw-r--r--cpp/src/Ice/UdpTransceiver.h2
-rw-r--r--cpp/src/Ice/WSAcceptor.cpp2
-rw-r--r--cpp/src/Ice/WSAcceptor.h2
-rw-r--r--cpp/src/Ice/WSConnector.cpp2
-rw-r--r--cpp/src/Ice/WSConnector.h2
-rw-r--r--cpp/src/Ice/WSEndpoint.cpp2
-rw-r--r--cpp/src/Ice/WSEndpoint.h2
-rw-r--r--cpp/src/Ice/WSTransceiver.cpp2
-rw-r--r--cpp/src/Ice/WSTransceiver.h2
-rw-r--r--cpp/src/IceBox/Admin.cpp2
-rw-r--r--cpp/src/IceBox/Exception.cpp2
-rw-r--r--cpp/src/IceBox/Service.cpp2
-rw-r--r--cpp/src/IceBox/ServiceManagerI.cpp2
-rw-r--r--cpp/src/IceBox/ServiceManagerI.h2
-rw-r--r--cpp/src/IceDiscovery/LocatorI.cpp2
-rw-r--r--cpp/src/IceDiscovery/LocatorI.h2
-rw-r--r--cpp/src/IceDiscovery/LookupI.cpp2
-rw-r--r--cpp/src/IceDiscovery/LookupI.h2
-rw-r--r--cpp/src/IceDiscovery/PluginI.cpp2
-rw-r--r--cpp/src/IceDiscovery/PluginI.h2
-rw-r--r--cpp/src/IceGrid/Activator.cpp2
-rw-r--r--cpp/src/IceGrid/Activator.h2
-rw-r--r--cpp/src/IceGrid/AdapterCache.cpp2
-rw-r--r--cpp/src/IceGrid/AdapterCache.h2
-rw-r--r--cpp/src/IceGrid/AdminCallbackRouter.cpp2
-rw-r--r--cpp/src/IceGrid/AdminCallbackRouter.h2
-rw-r--r--cpp/src/IceGrid/AdminI.cpp2
-rw-r--r--cpp/src/IceGrid/AdminI.h2
-rw-r--r--cpp/src/IceGrid/AdminRouter.cpp2
-rw-r--r--cpp/src/IceGrid/AdminRouter.h2
-rw-r--r--cpp/src/IceGrid/AdminSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/AdminSessionI.h2
-rw-r--r--cpp/src/IceGrid/Allocatable.cpp2
-rw-r--r--cpp/src/IceGrid/Allocatable.h2
-rw-r--r--cpp/src/IceGrid/AllocatableObjectCache.cpp2
-rw-r--r--cpp/src/IceGrid/AllocatableObjectCache.h2
-rw-r--r--cpp/src/IceGrid/Cache.h2
-rw-r--r--cpp/src/IceGrid/Client.cpp2
-rw-r--r--cpp/src/IceGrid/Database.cpp2
-rw-r--r--cpp/src/IceGrid/Database.h2
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.h2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.h2
-rw-r--r--cpp/src/IceGrid/DescriptorParser.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorParser.h2
-rw-r--r--cpp/src/IceGrid/FileCache.cpp2
-rw-r--r--cpp/src/IceGrid/FileCache.h2
-rw-r--r--cpp/src/IceGrid/FileParserI.cpp2
-rw-r--r--cpp/src/IceGrid/FileParserI.h2
-rw-r--r--cpp/src/IceGrid/FileUserAccountMapperI.cpp2
-rw-r--r--cpp/src/IceGrid/FileUserAccountMapperI.h2
-rw-r--r--cpp/src/IceGrid/Grammar.cpp2
-rw-r--r--cpp/src/IceGrid/Grammar.y2
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp2
-rw-r--r--cpp/src/IceGrid/IceGridRegistry.cpp2
-rw-r--r--cpp/src/IceGrid/Internal.ice2
-rw-r--r--cpp/src/IceGrid/InternalRegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/InternalRegistryI.h2
-rw-r--r--cpp/src/IceGrid/LocatorI.cpp2
-rw-r--r--cpp/src/IceGrid/LocatorI.h2
-rw-r--r--cpp/src/IceGrid/LocatorRegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/LocatorRegistryI.h2
-rw-r--r--cpp/src/IceGrid/NodeAdminRouter.cpp2
-rw-r--r--cpp/src/IceGrid/NodeAdminRouter.h2
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp2
-rw-r--r--cpp/src/IceGrid/NodeCache.h2
-rw-r--r--cpp/src/IceGrid/NodeI.cpp2
-rw-r--r--cpp/src/IceGrid/NodeI.h2
-rw-r--r--cpp/src/IceGrid/NodeSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/NodeSessionI.h2
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.cpp2
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.h2
-rw-r--r--cpp/src/IceGrid/ObjectCache.cpp2
-rw-r--r--cpp/src/IceGrid/ObjectCache.h2
-rw-r--r--cpp/src/IceGrid/Parser.cpp2964
-rw-r--r--cpp/src/IceGrid/Parser.h2
-rw-r--r--cpp/src/IceGrid/PlatformInfo.cpp2
-rw-r--r--cpp/src/IceGrid/PlatformInfo.h2
-rw-r--r--cpp/src/IceGrid/PluginFacadeI.cpp2
-rw-r--r--cpp/src/IceGrid/PluginFacadeI.h2
-rw-r--r--cpp/src/IceGrid/QueryI.cpp2
-rw-r--r--cpp/src/IceGrid/QueryI.h2
-rw-r--r--cpp/src/IceGrid/ReapThread.cpp2
-rw-r--r--cpp/src/IceGrid/ReapThread.h2
-rw-r--r--cpp/src/IceGrid/RegistryAdminRouter.cpp2
-rw-r--r--cpp/src/IceGrid/RegistryAdminRouter.h2
-rw-r--r--cpp/src/IceGrid/RegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/RegistryI.h2
-rw-r--r--cpp/src/IceGrid/ReplicaCache.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaCache.h2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionI.h2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionManager.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionManager.h2
-rw-r--r--cpp/src/IceGrid/Scanner.cpp2
-rw-r--r--cpp/src/IceGrid/Scanner.l2
-rw-r--r--cpp/src/IceGrid/ServerAdapterI.cpp2
-rw-r--r--cpp/src/IceGrid/ServerAdapterI.h2
-rw-r--r--cpp/src/IceGrid/ServerCache.cpp2
-rw-r--r--cpp/src/IceGrid/ServerCache.h2
-rw-r--r--cpp/src/IceGrid/ServerI.cpp2
-rw-r--r--cpp/src/IceGrid/ServerI.h2
-rw-r--r--cpp/src/IceGrid/SessionI.cpp2
-rw-r--r--cpp/src/IceGrid/SessionI.h2
-rw-r--r--cpp/src/IceGrid/SessionManager.cpp2
-rw-r--r--cpp/src/IceGrid/SessionManager.h2
-rw-r--r--cpp/src/IceGrid/SessionServantManager.cpp2
-rw-r--r--cpp/src/IceGrid/SessionServantManager.h2
-rw-r--r--cpp/src/IceGrid/Topics.cpp2
-rw-r--r--cpp/src/IceGrid/Topics.h2
-rw-r--r--cpp/src/IceGrid/TraceLevels.cpp2
-rw-r--r--cpp/src/IceGrid/TraceLevels.h2
-rw-r--r--cpp/src/IceGrid/Util.cpp2
-rw-r--r--cpp/src/IceGrid/Util.h2
-rw-r--r--cpp/src/IceGrid/WaitQueue.cpp2
-rw-r--r--cpp/src/IceGrid/WaitQueue.h2
-rw-r--r--cpp/src/IceGrid/WellKnownObjectsManager.cpp2
-rw-r--r--cpp/src/IceGrid/WellKnownObjectsManager.h2
-rw-r--r--cpp/src/IceGridLib/PluginFacadeI.cpp2
-rw-r--r--cpp/src/IceLocatorDiscovery/PluginI.cpp2
-rw-r--r--cpp/src/IceLocatorDiscovery/PluginI.h2
-rw-r--r--cpp/src/IcePatch2/Calc.cpp2
-rw-r--r--cpp/src/IcePatch2/Client.cpp2
-rw-r--r--cpp/src/IcePatch2/FileServerI.cpp2
-rw-r--r--cpp/src/IcePatch2/FileServerI.h2
-rw-r--r--cpp/src/IcePatch2/Server.cpp2
-rw-r--r--cpp/src/IcePatch2Lib/ClientUtil.cpp2
-rw-r--r--cpp/src/IcePatch2Lib/Util.cpp2
-rw-r--r--cpp/src/IcePatch2Lib/Util.h2
-rw-r--r--cpp/src/IceSSL/AcceptorI.cpp2
-rw-r--r--cpp/src/IceSSL/AcceptorI.h2
-rwxr-xr-xcpp/src/IceSSL/Certificate.cpp2
-rw-r--r--cpp/src/IceSSL/ConnectorI.cpp2
-rw-r--r--cpp/src/IceSSL/ConnectorI.h2
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp2
-rw-r--r--cpp/src/IceSSL/EndpointI.h2
-rw-r--r--cpp/src/IceSSL/Instance.cpp2
-rw-r--r--cpp/src/IceSSL/Instance.h2
-rw-r--r--cpp/src/IceSSL/InstanceF.h2
-rw-r--r--cpp/src/IceSSL/OpenSSLEngine.cpp2
-rw-r--r--cpp/src/IceSSL/OpenSSLTransceiverI.cpp2
-rw-r--r--cpp/src/IceSSL/OpenSSLTransceiverI.h2
-rwxr-xr-xcpp/src/IceSSL/PluginI.cpp2
-rw-r--r--cpp/src/IceSSL/PluginI.h2
-rw-r--r--cpp/src/IceSSL/RFC2253.cpp2
-rw-r--r--cpp/src/IceSSL/RFC2253.h2
-rw-r--r--cpp/src/IceSSL/SChannelEngine.cpp2
-rw-r--r--cpp/src/IceSSL/SChannelTransceiverI.cpp2
-rw-r--r--cpp/src/IceSSL/SChannelTransceiverI.h2
-rw-r--r--cpp/src/IceSSL/SSLEngine.cpp2
-rw-r--r--cpp/src/IceSSL/SSLEngine.h2
-rw-r--r--cpp/src/IceSSL/SSLEngineF.h2
-rw-r--r--cpp/src/IceSSL/SecureTransportEngine.cpp2
-rw-r--r--cpp/src/IceSSL/SecureTransportTransceiverI.cpp2
-rw-r--r--cpp/src/IceSSL/SecureTransportTransceiverI.h2
-rw-r--r--cpp/src/IceSSL/TrustManager.cpp2
-rw-r--r--cpp/src/IceSSL/TrustManager.h2
-rw-r--r--cpp/src/IceSSL/TrustManagerF.h2
-rwxr-xr-xcpp/src/IceSSL/Util.cpp2
-rw-r--r--cpp/src/IceSSL/Util.h2
-rw-r--r--cpp/src/IceStorm/Admin.cpp2
-rw-r--r--cpp/src/IceStorm/DBTypes.ice2
-rw-r--r--cpp/src/IceStorm/Election.ice2
-rw-r--r--cpp/src/IceStorm/Grammar.cpp2
-rw-r--r--cpp/src/IceStorm/Grammar.y2
-rw-r--r--cpp/src/IceStorm/IceStormDB.cpp2
-rw-r--r--cpp/src/IceStorm/IceStormInternal.ice2
-rw-r--r--cpp/src/IceStorm/Instance.cpp2
-rw-r--r--cpp/src/IceStorm/Instance.h2
-rw-r--r--cpp/src/IceStorm/Instrumentation.ice2
-rw-r--r--cpp/src/IceStorm/InstrumentationI.cpp2
-rw-r--r--cpp/src/IceStorm/InstrumentationI.h2
-rw-r--r--cpp/src/IceStorm/LLURecord.ice2
-rw-r--r--cpp/src/IceStorm/LinkRecord.ice2
-rw-r--r--cpp/src/IceStorm/NodeI.cpp2
-rw-r--r--cpp/src/IceStorm/NodeI.h2
-rw-r--r--cpp/src/IceStorm/Observers.cpp2
-rw-r--r--cpp/src/IceStorm/Observers.h2
-rw-r--r--cpp/src/IceStorm/Parser.cpp732
-rw-r--r--cpp/src/IceStorm/Parser.h2
-rw-r--r--cpp/src/IceStorm/Replica.h2
-rw-r--r--cpp/src/IceStorm/Scanner.cpp2
-rw-r--r--cpp/src/IceStorm/Scanner.l2
-rw-r--r--cpp/src/IceStorm/Service.cpp2
-rw-r--r--cpp/src/IceStorm/Service.h2
-rw-r--r--cpp/src/IceStorm/Subscriber.cpp2
-rw-r--r--cpp/src/IceStorm/Subscriber.h2
-rw-r--r--cpp/src/IceStorm/SubscriberRecord.ice2
-rw-r--r--cpp/src/IceStorm/TopicI.cpp2
-rw-r--r--cpp/src/IceStorm/TopicI.h2
-rw-r--r--cpp/src/IceStorm/TopicManagerI.cpp2
-rw-r--r--cpp/src/IceStorm/TopicManagerI.h2
-rw-r--r--cpp/src/IceStorm/TraceLevels.cpp2
-rw-r--r--cpp/src/IceStorm/TraceLevels.h2
-rw-r--r--cpp/src/IceStorm/TransientTopicI.cpp2
-rw-r--r--cpp/src/IceStorm/TransientTopicI.h2
-rw-r--r--cpp/src/IceStorm/TransientTopicManagerI.cpp2
-rw-r--r--cpp/src/IceStorm/TransientTopicManagerI.h2
-rw-r--r--cpp/src/IceStorm/Util.cpp2
-rw-r--r--cpp/src/IceStorm/Util.h2
-rw-r--r--cpp/src/IceUtil/ArgVector.h2
-rw-r--r--cpp/src/IceUtil/ConvertUTF.cpp2
-rw-r--r--cpp/src/IceUtil/ConvertUTF.h2
-rw-r--r--cpp/src/IceUtil/CtrlCHandler.cpp2
-rw-r--r--cpp/src/IceUtil/FileUtil.cpp2
-rw-r--r--cpp/src/IceUtil/InputUtil.cpp2
-rw-r--r--cpp/src/IceUtil/MutexProtocol.cpp2
-rw-r--r--cpp/src/IceUtil/Options.cpp2
-rw-r--r--cpp/src/IceUtil/OutputUtil.cpp2
-rw-r--r--cpp/src/IceUtil/Random.cpp2
-rw-r--r--cpp/src/IceUtil/RecMutex.cpp2
-rw-r--r--cpp/src/IceUtil/Shared.cpp2
-rw-r--r--cpp/src/IceUtil/StringConverter.cpp2
-rw-r--r--cpp/src/IceUtil/StringUtil.cpp2
-rw-r--r--cpp/src/IceUtil/ThreadException.cpp2
-rw-r--r--cpp/src/IceUtil/Time.cpp2
-rw-r--r--cpp/src/IceUtil/UUID.cpp2
-rw-r--r--cpp/src/IceUtil/Unicode.cpp2
-rw-r--r--cpp/src/IceUtil/Unicode.h2
-rw-r--r--cpp/src/IceXML/Parser.cpp2
-rw-r--r--cpp/src/IceXML/Parser.h2
-rw-r--r--cpp/src/Slice/CPlusPlusUtil.cpp4
-rw-r--r--cpp/src/Slice/Checksum.cpp2
-rw-r--r--cpp/src/Slice/FileTracker.cpp2
-rw-r--r--cpp/src/Slice/Grammar.cpp2
-rw-r--r--cpp/src/Slice/Grammar.y2
-rw-r--r--cpp/src/Slice/GrammarUtil.h2
-rw-r--r--cpp/src/Slice/JavaUtil.cpp5045
-rw-r--r--cpp/src/Slice/MD5.cpp2
-rw-r--r--cpp/src/Slice/MD5.h2
-rw-r--r--cpp/src/Slice/PHPUtil.cpp2
-rw-r--r--cpp/src/Slice/Parser.cpp2
-rw-r--r--cpp/src/Slice/Preprocessor.cpp2
-rw-r--r--cpp/src/Slice/Python.cpp2
-rw-r--r--cpp/src/Slice/PythonUtil.cpp4
-rw-r--r--cpp/src/Slice/Ruby.cpp2
-rw-r--r--cpp/src/Slice/RubyUtil.cpp4
-rw-r--r--cpp/src/Slice/Scanner.cpp2
-rw-r--r--cpp/src/Slice/Scanner.l2
-rw-r--r--cpp/src/iceserviceinstall/Install.cpp2
-rw-r--r--cpp/src/iceserviceinstall/ServiceInstaller.cpp2
-rw-r--r--cpp/src/iceserviceinstall/ServiceInstaller.h2
-rw-r--r--cpp/src/slice2confluence/Gen.cpp2
-rw-r--r--cpp/src/slice2confluence/Gen.h2
-rw-r--r--cpp/src/slice2confluence/Main.cpp2
-rw-r--r--cpp/src/slice2cpp/Gen.cpp2
-rw-r--r--cpp/src/slice2cpp/Gen.h2
-rw-r--r--cpp/src/slice2cpp/Main.cpp2
-rw-r--r--cpp/src/slice2cs/DotNetNames.h2
-rw-r--r--cpp/src/slice2cs/Gen.cpp4
-rw-r--r--cpp/src/slice2cs/Gen.h2
-rw-r--r--cpp/src/slice2cs/Main.cpp2
-rw-r--r--cpp/src/slice2html/Gen.cpp2
-rw-r--r--cpp/src/slice2html/Gen.h2
-rw-r--r--cpp/src/slice2html/Main.cpp2
-rw-r--r--cpp/src/slice2java/Gen.cpp2
-rw-r--r--cpp/src/slice2java/Gen.h2
-rw-r--r--cpp/src/slice2java/Main.cpp2
-rw-r--r--cpp/src/slice2js/Gen.cpp4
-rw-r--r--cpp/src/slice2js/Gen.h2
-rw-r--r--cpp/src/slice2js/JsUtil.cpp2
-rw-r--r--cpp/src/slice2js/JsUtil.h2
-rw-r--r--cpp/src/slice2js/Main.cpp2
-rw-r--r--cpp/src/slice2objc/Gen.cpp4
-rw-r--r--cpp/src/slice2objc/Gen.h2
-rw-r--r--cpp/src/slice2objc/Main.cpp2
-rw-r--r--cpp/src/slice2php/Main.cpp1935
-rw-r--r--cpp/src/slice2py/Main.cpp2
-rw-r--r--cpp/src/slice2py/Slice2Py.rc33
-rw-r--r--cpp/test/Glacier2/attack/Backend.ice2
-rw-r--r--cpp/test/Glacier2/attack/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/attack/BackendI.h2
-rw-r--r--cpp/test/Glacier2/attack/Client.cpp2
-rw-r--r--cpp/test/Glacier2/attack/Server.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/BackendI.h2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Client.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Server.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/SessionI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/SessionI.h2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Test.ice2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/TestControllerI.h2
-rw-r--r--cpp/test/Glacier2/override/Callback.ice2
-rw-r--r--cpp/test/Glacier2/override/CallbackI.cpp2
-rw-r--r--cpp/test/Glacier2/override/CallbackI.h2
-rw-r--r--cpp/test/Glacier2/override/Client.cpp2
-rw-r--r--cpp/test/Glacier2/override/Server.cpp2
-rw-r--r--cpp/test/Glacier2/router/Callback.ice2
-rw-r--r--cpp/test/Glacier2/router/CallbackI.cpp2
-rw-r--r--cpp/test/Glacier2/router/CallbackI.h2
-rw-r--r--cpp/test/Glacier2/router/Client.cpp2
-rw-r--r--cpp/test/Glacier2/router/Server.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/Client.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/Server.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/Session.ice2
-rw-r--r--cpp/test/Glacier2/sessionControl/SessionI.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/SessionI.h2
-rw-r--r--cpp/test/Glacier2/sessionHelper/Callback.ice2
-rw-r--r--cpp/test/Glacier2/sessionHelper/Client.cpp2
-rw-r--r--cpp/test/Glacier2/sessionHelper/Server.cpp2
-rw-r--r--cpp/test/Glacier2/ssl/Client.cpp2
-rw-r--r--cpp/test/Glacier2/ssl/Server.cpp2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Backend.ice2
-rw-r--r--cpp/test/Glacier2/staticFiltering/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/staticFiltering/BackendI.h2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Client.cpp2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Server.cpp2
-rw-r--r--cpp/test/Ice/acm/AllTests.cpp2
-rw-r--r--cpp/test/Ice/acm/Client.cpp48
-rw-r--r--cpp/test/Ice/acm/Server.cpp2
-rw-r--r--cpp/test/Ice/acm/Test.ice2
-rw-r--r--cpp/test/Ice/acm/TestI.cpp2
-rw-r--r--cpp/test/Ice/acm/TestI.h2
-rw-r--r--cpp/test/Ice/adapterDeactivation/AllTests.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Client.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Collocated.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/ServantLocatorI.h2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Server.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Test.ice2
-rw-r--r--cpp/test/Ice/adapterDeactivation/TestI.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/TestI.h2
-rw-r--r--cpp/test/Ice/admin/AllTests.cpp2
-rw-r--r--cpp/test/Ice/admin/Client.cpp2
-rw-r--r--cpp/test/Ice/admin/Server.cpp2
-rw-r--r--cpp/test/Ice/admin/Test.ice2
-rw-r--r--cpp/test/Ice/admin/TestI.cpp2
-rw-r--r--cpp/test/Ice/admin/TestI.h2
-rw-r--r--cpp/test/Ice/ami/AllTests.cpp2
-rw-r--r--cpp/test/Ice/ami/Client.cpp2
-rw-r--r--cpp/test/Ice/ami/Collocated.cpp2
-rw-r--r--cpp/test/Ice/ami/Server.cpp2
-rw-r--r--cpp/test/Ice/ami/Test.ice2
-rw-r--r--cpp/test/Ice/ami/TestI.cpp2
-rw-r--r--cpp/test/Ice/ami/TestI.h2
-rw-r--r--cpp/test/Ice/background/Acceptor.cpp2
-rw-r--r--cpp/test/Ice/background/Acceptor.h2
-rw-r--r--cpp/test/Ice/background/AllTests.cpp2
-rw-r--r--cpp/test/Ice/background/Client.cpp2
-rw-r--r--cpp/test/Ice/background/Configuration.cpp2
-rw-r--r--cpp/test/Ice/background/Configuration.h2
-rw-r--r--cpp/test/Ice/background/Connector.cpp2
-rw-r--r--cpp/test/Ice/background/Connector.h2
-rw-r--r--cpp/test/Ice/background/EndpointFactory.cpp2
-rw-r--r--cpp/test/Ice/background/EndpointFactory.h2
-rw-r--r--cpp/test/Ice/background/EndpointI.cpp2
-rw-r--r--cpp/test/Ice/background/EndpointI.h2
-rw-r--r--cpp/test/Ice/background/PluginI.cpp2
-rw-r--r--cpp/test/Ice/background/PluginI.h2
-rw-r--r--cpp/test/Ice/background/Server.cpp2
-rw-r--r--cpp/test/Ice/background/Test.ice2
-rw-r--r--cpp/test/Ice/background/TestI.cpp2
-rw-r--r--cpp/test/Ice/background/TestI.h2
-rw-r--r--cpp/test/Ice/background/Transceiver.cpp2
-rw-r--r--cpp/test/Ice/background/Transceiver.h2
-rw-r--r--cpp/test/Ice/binding/AllTests.cpp2
-rw-r--r--cpp/test/Ice/binding/Client.cpp2
-rw-r--r--cpp/test/Ice/binding/Server.cpp2
-rw-r--r--cpp/test/Ice/binding/Test.ice2
-rw-r--r--cpp/test/Ice/binding/TestI.cpp2
-rw-r--r--cpp/test/Ice/binding/TestI.h2
-rw-r--r--cpp/test/Ice/checksum/AllTests.cpp2
-rw-r--r--cpp/test/Ice/checksum/Client.cpp2
-rw-r--r--cpp/test/Ice/checksum/Test.ice2
-rw-r--r--cpp/test/Ice/checksum/TestI.cpp2
-rw-r--r--cpp/test/Ice/checksum/TestI.h2
-rw-r--r--cpp/test/Ice/custom/AllTests.cpp2
-rw-r--r--cpp/test/Ice/custom/Client.cpp2
-rw-r--r--cpp/test/Ice/custom/Collocated.cpp2
-rw-r--r--cpp/test/Ice/custom/CustomBuffer.h2
-rw-r--r--cpp/test/Ice/custom/CustomMap.h2
-rw-r--r--cpp/test/Ice/custom/MyByteSeq.cpp2
-rw-r--r--cpp/test/Ice/custom/MyByteSeq.h2
-rw-r--r--cpp/test/Ice/custom/Server.cpp2
-rw-r--r--cpp/test/Ice/custom/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/custom/StringConverterI.cpp2
-rw-r--r--cpp/test/Ice/custom/StringConverterI.h2
-rw-r--r--cpp/test/Ice/custom/StringView.h2
-rw-r--r--cpp/test/Ice/custom/Test.ice2
-rw-r--r--cpp/test/Ice/custom/TestAMD.ice2
-rw-r--r--cpp/test/Ice/custom/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/custom/TestAMDI.h2
-rw-r--r--cpp/test/Ice/custom/TestI.cpp2
-rw-r--r--cpp/test/Ice/custom/TestI.h2
-rw-r--r--cpp/test/Ice/custom/Wstring.ice2
-rw-r--r--cpp/test/Ice/custom/WstringAMD.ice2
-rw-r--r--cpp/test/Ice/custom/WstringAMDI.cpp2
-rw-r--r--cpp/test/Ice/custom/WstringAMDI.h2
-rw-r--r--cpp/test/Ice/custom/WstringI.cpp2
-rw-r--r--cpp/test/Ice/custom/WstringI.h2
-rw-r--r--cpp/test/Ice/defaultServant/AllTests.cpp2
-rw-r--r--cpp/test/Ice/defaultServant/Client.cpp2
-rw-r--r--cpp/test/Ice/defaultServant/Test.ice2
-rw-r--r--cpp/test/Ice/defaultServant/TestI.cpp2
-rw-r--r--cpp/test/Ice/defaultServant/TestI.h2
-rw-r--r--cpp/test/Ice/defaultValue/AllTests.cpp2
-rw-r--r--cpp/test/Ice/defaultValue/Client.cpp2
-rw-r--r--cpp/test/Ice/defaultValue/Test.ice2
-rw-r--r--cpp/test/Ice/dispatcher/AllTests.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Client.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Collocated.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Dispatcher.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Dispatcher.h2
-rw-r--r--cpp/test/Ice/dispatcher/Server.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Test.ice2
-rw-r--r--cpp/test/Ice/dispatcher/TestI.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/TestI.h2
-rw-r--r--cpp/test/Ice/echo/BlobjectI.cpp2
-rw-r--r--cpp/test/Ice/echo/BlobjectI.h2
-rw-r--r--cpp/test/Ice/echo/Server.cpp2
-rw-r--r--cpp/test/Ice/echo/Test.ice2
-rw-r--r--cpp/test/Ice/enums/AllTests.cpp2
-rw-r--r--cpp/test/Ice/enums/Client.cpp2
-rw-r--r--cpp/test/Ice/enums/Server.cpp2
-rw-r--r--cpp/test/Ice/enums/Test.ice2
-rw-r--r--cpp/test/Ice/enums/TestI.cpp2
-rw-r--r--cpp/test/Ice/enums/TestI.h2
-rw-r--r--cpp/test/Ice/exceptions/AllTests.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Client.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Collocated.cpp2
-rw-r--r--cpp/test/Ice/exceptions/ExceptionsI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Server.cpp2
-rw-r--r--cpp/test/Ice/exceptions/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Test.ice2
-rw-r--r--cpp/test/Ice/exceptions/TestAMD.ice2
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.h2
-rw-r--r--cpp/test/Ice/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestI.h2
-rw-r--r--cpp/test/Ice/facets/AllTests.cpp2
-rw-r--r--cpp/test/Ice/facets/Client.cpp2
-rw-r--r--cpp/test/Ice/facets/Collocated.cpp2
-rw-r--r--cpp/test/Ice/facets/Server.cpp2
-rw-r--r--cpp/test/Ice/facets/Test.ice2
-rw-r--r--cpp/test/Ice/facets/TestI.cpp2
-rw-r--r--cpp/test/Ice/facets/TestI.h2
-rw-r--r--cpp/test/Ice/faultTolerance/AllTests.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Client.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Server.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Test.ice2
-rw-r--r--cpp/test/Ice/faultTolerance/TestI.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/TestI.h2
-rw-r--r--cpp/test/Ice/gc/Client.cpp2
-rw-r--r--cpp/test/Ice/gc/Test.ice2
-rw-r--r--cpp/test/Ice/hash/Client.cpp2
-rw-r--r--cpp/test/Ice/hash/Test.ice2
-rw-r--r--cpp/test/Ice/hold/AllTests.cpp2
-rw-r--r--cpp/test/Ice/hold/Client.cpp2
-rw-r--r--cpp/test/Ice/hold/Server.cpp2
-rw-r--r--cpp/test/Ice/hold/Test.ice2
-rw-r--r--cpp/test/Ice/hold/TestI.cpp2
-rw-r--r--cpp/test/Ice/hold/TestI.h2
-rw-r--r--cpp/test/Ice/info/AllTests.cpp2
-rw-r--r--cpp/test/Ice/info/Client.cpp2
-rw-r--r--cpp/test/Ice/info/Server.cpp2
-rw-r--r--cpp/test/Ice/info/Test.ice2
-rw-r--r--cpp/test/Ice/info/TestI.cpp2
-rw-r--r--cpp/test/Ice/info/TestI.h2
-rw-r--r--cpp/test/Ice/inheritance/AllTests.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Client.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Collocated.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Server.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Test.ice2
-rw-r--r--cpp/test/Ice/inheritance/TestI.cpp2
-rw-r--r--cpp/test/Ice/inheritance/TestI.h2
-rw-r--r--cpp/test/Ice/interceptor/AMDInterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/AMDInterceptorI.h2
-rw-r--r--cpp/test/Ice/interceptor/Client.cpp2
-rw-r--r--cpp/test/Ice/interceptor/InterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/InterceptorI.h2
-rw-r--r--cpp/test/Ice/interceptor/MyObjectI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/MyObjectI.h2
-rw-r--r--cpp/test/Ice/interceptor/Test.ice2
-rw-r--r--cpp/test/Ice/interceptor/TestI.cpp2
-rw-r--r--cpp/test/Ice/invoke/AllTests.cpp2
-rw-r--r--cpp/test/Ice/invoke/BlobjectI.cpp2
-rw-r--r--cpp/test/Ice/invoke/BlobjectI.h2
-rw-r--r--cpp/test/Ice/invoke/Client.cpp2
-rw-r--r--cpp/test/Ice/invoke/Server.cpp2
-rw-r--r--cpp/test/Ice/invoke/Test.ice2
-rw-r--r--cpp/test/Ice/location/AllTests.cpp2
-rw-r--r--cpp/test/Ice/location/Client.cpp2
-rw-r--r--cpp/test/Ice/location/Server.cpp2
-rw-r--r--cpp/test/Ice/location/ServerLocator.cpp2
-rw-r--r--cpp/test/Ice/location/ServerLocator.h2
-rw-r--r--cpp/test/Ice/location/Test.ice2
-rw-r--r--cpp/test/Ice/location/TestI.cpp2
-rw-r--r--cpp/test/Ice/location/TestI.h2
-rw-r--r--cpp/test/Ice/logger/Client1.cpp2
-rw-r--r--cpp/test/Ice/logger/Client2.cpp2
-rw-r--r--cpp/test/Ice/logger/Client3.cpp2
-rw-r--r--cpp/test/Ice/logger/Client4.cpp2
-rw-r--r--cpp/test/Ice/logger/Client5.cpp2
-rw-r--r--cpp/test/Ice/metrics/AllTests.cpp2
-rw-r--r--cpp/test/Ice/metrics/Client.cpp2
-rw-r--r--cpp/test/Ice/metrics/Collocated.cpp2
-rw-r--r--cpp/test/Ice/metrics/InstrumentationI.h2
-rw-r--r--cpp/test/Ice/metrics/Server.cpp2
-rw-r--r--cpp/test/Ice/metrics/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/metrics/Test.ice2
-rw-r--r--cpp/test/Ice/metrics/TestAMD.ice2
-rw-r--r--cpp/test/Ice/metrics/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/metrics/TestAMDI.h2
-rw-r--r--cpp/test/Ice/metrics/TestI.cpp2
-rw-r--r--cpp/test/Ice/metrics/TestI.h2
-rw-r--r--cpp/test/Ice/networkProxy/AllTests.cpp2
-rw-r--r--cpp/test/Ice/networkProxy/Client.cpp2
-rw-r--r--cpp/test/Ice/networkProxy/Server.cpp2
-rw-r--r--cpp/test/Ice/networkProxy/Test.ice2
-rw-r--r--cpp/test/Ice/objects/AllTests.cpp2
-rw-r--r--cpp/test/Ice/objects/Client.cpp2
-rw-r--r--cpp/test/Ice/objects/Collocated.cpp2
-rw-r--r--cpp/test/Ice/objects/Derived.ice2
-rw-r--r--cpp/test/Ice/objects/DerivedEx.ice2
-rw-r--r--cpp/test/Ice/objects/Server.cpp2
-rw-r--r--cpp/test/Ice/objects/Test.ice2
-rw-r--r--cpp/test/Ice/objects/TestI.cpp2
-rw-r--r--cpp/test/Ice/objects/TestI.h2
-rw-r--r--cpp/test/Ice/objects/TestIntfI.cpp2
-rw-r--r--cpp/test/Ice/operations/AllTests.cpp2
-rw-r--r--cpp/test/Ice/operations/BatchOneways.cpp2
-rw-r--r--cpp/test/Ice/operations/BatchOnewaysAMI.cpp2
-rw-r--r--cpp/test/Ice/operations/Client.cpp2
-rw-r--r--cpp/test/Ice/operations/Collocated.cpp2
-rw-r--r--cpp/test/Ice/operations/Oneways.cpp2
-rw-r--r--cpp/test/Ice/operations/OnewaysAMI.cpp2
-rw-r--r--cpp/test/Ice/operations/Server.cpp2
-rw-r--r--cpp/test/Ice/operations/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/operations/Test.ice2
-rw-r--r--cpp/test/Ice/operations/TestAMD.ice2
-rw-r--r--cpp/test/Ice/operations/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestAMDI.h2
-rw-r--r--cpp/test/Ice/operations/TestI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestI.h2
-rw-r--r--cpp/test/Ice/operations/Twoways.cpp2
-rw-r--r--cpp/test/Ice/operations/TwowaysAMI.cpp2
-rw-r--r--cpp/test/Ice/optional/AllTests.cpp2
-rw-r--r--cpp/test/Ice/optional/Client.cpp2
-rw-r--r--cpp/test/Ice/optional/CustomMap.h2
-rw-r--r--cpp/test/Ice/optional/Server.cpp2
-rw-r--r--cpp/test/Ice/optional/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/optional/StringView.h2
-rw-r--r--cpp/test/Ice/optional/Test.ice2
-rw-r--r--cpp/test/Ice/optional/TestAMD.ice2
-rw-r--r--cpp/test/Ice/optional/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/optional/TestAMDI.h2
-rw-r--r--cpp/test/Ice/optional/TestI.cpp2
-rw-r--r--cpp/test/Ice/optional/TestI.h2
-rw-r--r--cpp/test/Ice/plugin/Client.cpp2
-rw-r--r--cpp/test/Ice/plugin/Plugin.cpp2
-rw-r--r--cpp/test/Ice/properties/Client.cpp2
-rw-r--r--cpp/test/Ice/proxy/AllTests.cpp2
-rw-r--r--cpp/test/Ice/proxy/Client.cpp2
-rw-r--r--cpp/test/Ice/proxy/Collocated.cpp2
-rw-r--r--cpp/test/Ice/proxy/Server.cpp2
-rw-r--r--cpp/test/Ice/proxy/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/proxy/Test.ice2
-rw-r--r--cpp/test/Ice/proxy/TestAMD.ice2
-rw-r--r--cpp/test/Ice/proxy/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/proxy/TestAMDI.h2
-rw-r--r--cpp/test/Ice/proxy/TestI.cpp2
-rw-r--r--cpp/test/Ice/proxy/TestI.h2
-rw-r--r--cpp/test/Ice/retry/AllTests.cpp2
-rw-r--r--cpp/test/Ice/retry/Client.cpp2
-rw-r--r--cpp/test/Ice/retry/Collocated.cpp2
-rw-r--r--cpp/test/Ice/retry/InstrumentationI.cpp2
-rw-r--r--cpp/test/Ice/retry/InstrumentationI.h2
-rw-r--r--cpp/test/Ice/retry/Server.cpp2
-rw-r--r--cpp/test/Ice/retry/SystemFailure.h2
-rw-r--r--cpp/test/Ice/retry/Test.ice2
-rw-r--r--cpp/test/Ice/retry/TestI.cpp2
-rw-r--r--cpp/test/Ice/retry/TestI.h2
-rw-r--r--cpp/test/Ice/servantLocator/AllTests.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Client.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Collocated.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/ServantLocatorI.h2
-rw-r--r--cpp/test/Ice/servantLocator/Server.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Test.ice2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMD.ice2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMDI.h2
-rw-r--r--cpp/test/Ice/servantLocator/TestI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/TestI.h2
-rw-r--r--cpp/test/Ice/services/AllTests.cpp2
-rw-r--r--cpp/test/Ice/services/Client.cpp2
-rw-r--r--cpp/test/Ice/services/Test.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/AllTests.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Client.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ClientPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Server.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Test.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMDI.h2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.h2
-rw-r--r--cpp/test/Ice/slicing/objects/AllTests.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/Client.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/Server.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/Test.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMDI.h2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.h2
-rw-r--r--cpp/test/Ice/stream/Client.cpp2
-rw-r--r--cpp/test/Ice/stream/Test.ice2
-rw-r--r--cpp/test/Ice/stringConverter/Client.cpp2
-rw-r--r--cpp/test/Ice/stringConverter/Server.cpp2
-rw-r--r--cpp/test/Ice/stringConverter/Test.ice2
-rw-r--r--cpp/test/Ice/threadPoolPriority/AllTests.cpp2
-rw-r--r--cpp/test/Ice/threadPoolPriority/Client.cpp2
-rw-r--r--cpp/test/Ice/threadPoolPriority/Server.cpp2
-rw-r--r--cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp2
-rw-r--r--cpp/test/Ice/threadPoolPriority/Test.ice2
-rw-r--r--cpp/test/Ice/threadPoolPriority/TestI.cpp2
-rw-r--r--cpp/test/Ice/threadPoolPriority/TestI.h2
-rw-r--r--cpp/test/Ice/timeout/AllTests.cpp2
-rw-r--r--cpp/test/Ice/timeout/Client.cpp2
-rw-r--r--cpp/test/Ice/timeout/Server.cpp2
-rw-r--r--cpp/test/Ice/timeout/Test.ice2
-rw-r--r--cpp/test/Ice/timeout/TestI.cpp2
-rw-r--r--cpp/test/Ice/timeout/TestI.h2
-rw-r--r--cpp/test/Ice/udp/AllTests.cpp2
-rw-r--r--cpp/test/Ice/udp/Client.cpp2
-rw-r--r--cpp/test/Ice/udp/Server.cpp2
-rw-r--r--cpp/test/Ice/udp/Test.ice2
-rw-r--r--cpp/test/Ice/udp/TestI.cpp2
-rw-r--r--cpp/test/Ice/udp/TestI.h2
-rw-r--r--cpp/test/IceBox/admin/AllTests.cpp2
-rw-r--r--cpp/test/IceBox/admin/Client.cpp2
-rw-r--r--cpp/test/IceBox/admin/Service.cpp2
-rw-r--r--cpp/test/IceBox/admin/Test.ice2
-rw-r--r--cpp/test/IceBox/admin/TestI.cpp2
-rw-r--r--cpp/test/IceBox/admin/TestI.h2
-rw-r--r--cpp/test/IceBox/configuration/AllTests.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Client.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Service.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Test.ice2
-rw-r--r--cpp/test/IceBox/configuration/TestI.cpp2
-rw-r--r--cpp/test/IceBox/configuration/TestI.h2
-rw-r--r--cpp/test/IceDiscovery/simple/AllTests.cpp2
-rw-r--r--cpp/test/IceDiscovery/simple/Client.cpp2
-rw-r--r--cpp/test/IceDiscovery/simple/Server.cpp2
-rw-r--r--cpp/test/IceDiscovery/simple/Test.ice2
-rw-r--r--cpp/test/IceDiscovery/simple/TestI.cpp2
-rw-r--r--cpp/test/IceDiscovery/simple/TestI.h2
-rw-r--r--cpp/test/IceGrid/activation/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/activation/Client.cpp2
-rw-r--r--cpp/test/IceGrid/activation/Server.cpp2
-rw-r--r--cpp/test/IceGrid/activation/Test.ice2
-rw-r--r--cpp/test/IceGrid/activation/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/activation/TestI.h2
-rw-r--r--cpp/test/IceGrid/admin/Server.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Client.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/PermissionsVerifier.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Server.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Test.ice2
-rw-r--r--cpp/test/IceGrid/allocation/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/TestI.h2
-rw-r--r--cpp/test/IceGrid/deployer/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Client.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Server.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Service.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Test.ice2
-rw-r--r--cpp/test/IceGrid/deployer/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/TestI.h2
-rw-r--r--cpp/test/IceGrid/distribution/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Client.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Server.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Test.ice2
-rw-r--r--cpp/test/IceGrid/distribution/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/TestI.h2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Client.cpp2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Server.cpp2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Service.cpp2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Test.ice2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/TestI.h2
-rw-r--r--cpp/test/IceGrid/replicaGroup/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Client.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Server.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Service.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Test.ice2
-rw-r--r--cpp/test/IceGrid/replicaGroup/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/TestI.h2
-rw-r--r--cpp/test/IceGrid/replication/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Client.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Server.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Test.ice2
-rw-r--r--cpp/test/IceGrid/replication/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/replication/TestI.h2
-rw-r--r--cpp/test/IceGrid/session/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/session/Client.cpp2
-rw-r--r--cpp/test/IceGrid/session/PermissionsVerifier.cpp2
-rw-r--r--cpp/test/IceGrid/session/Server.cpp2
-rw-r--r--cpp/test/IceGrid/session/Test.ice2
-rw-r--r--cpp/test/IceGrid/simple/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/simple/Client.cpp2
-rw-r--r--cpp/test/IceGrid/simple/Server.cpp2
-rw-r--r--cpp/test/IceGrid/simple/Test.ice2
-rw-r--r--cpp/test/IceGrid/simple/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/simple/TestI.h2
-rw-r--r--cpp/test/IceGrid/update/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/update/Client.cpp2
-rw-r--r--cpp/test/IceGrid/update/Server.cpp2
-rw-r--r--cpp/test/IceGrid/update/Test.ice2
-rw-r--r--cpp/test/IceGrid/update/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/update/TestI.h2
-rwxr-xr-xcpp/test/IceSSL/certs/makecerts.py2
-rw-r--r--cpp/test/IceSSL/configuration/AllTests.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/Client.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/Server.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/Test.ice2
-rw-r--r--cpp/test/IceSSL/configuration/TestI.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/TestI.h2
-rw-r--r--cpp/test/IceStorm/federation/Event.ice2
-rw-r--r--cpp/test/IceStorm/federation/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/federation/Subscriber.cpp2
-rw-r--r--cpp/test/IceStorm/federation2/Event.ice2
-rw-r--r--cpp/test/IceStorm/federation2/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/federation2/Subscriber.cpp2
-rw-r--r--cpp/test/IceStorm/rep1/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/rep1/Single.ice2
-rw-r--r--cpp/test/IceStorm/rep1/Sub.cpp2
-rw-r--r--cpp/test/IceStorm/rep1/Subscriber.cpp2
-rw-r--r--cpp/test/IceStorm/repgrid/Client.cpp2
-rw-r--r--cpp/test/IceStorm/repgrid/Single.ice2
-rw-r--r--cpp/test/IceStorm/repgrid/application.xml2
-rw-r--r--cpp/test/IceStorm/repstress/Control.cpp2
-rw-r--r--cpp/test/IceStorm/repstress/Controller.ice2
-rw-r--r--cpp/test/IceStorm/repstress/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/repstress/Single.ice2
-rw-r--r--cpp/test/IceStorm/repstress/Subscriber.cpp2
-rw-r--r--cpp/test/IceStorm/single/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/single/Single.ice2
-rw-r--r--cpp/test/IceStorm/single/Subscriber.cpp2
-rw-r--r--cpp/test/IceStorm/stress/Event.ice2
-rw-r--r--cpp/test/IceStorm/stress/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/stress/Subscriber.cpp2
-rw-r--r--cpp/test/IceUtil/condvar/Match.cpp2
-rw-r--r--cpp/test/IceUtil/condvar/WorkQueue.cpp2
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Client.cpp2
-rw-r--r--cpp/test/IceUtil/inputUtil/Client.cpp2
-rw-r--r--cpp/test/IceUtil/priority/Client.cpp2
-rw-r--r--cpp/test/IceUtil/priority/PriorityInversion.cpp2
-rw-r--r--cpp/test/IceUtil/priority/PriorityInversion.h2
-rw-r--r--cpp/test/IceUtil/priority/TestBase.cpp2
-rw-r--r--cpp/test/IceUtil/priority/TestBase.h2
-rw-r--r--cpp/test/IceUtil/priority/TestSuite.cpp2
-rw-r--r--cpp/test/IceUtil/priority/TestSuite.h2
-rw-r--r--cpp/test/IceUtil/priority/ThreadPriority.cpp2
-rw-r--r--cpp/test/IceUtil/priority/ThreadPriority.h2
-rw-r--r--cpp/test/IceUtil/priority/TimerPriority.cpp2
-rw-r--r--cpp/test/IceUtil/priority/TimerPriority.h2
-rw-r--r--cpp/test/IceUtil/sha1/Client.cpp2
-rw-r--r--cpp/test/IceUtil/stacktrace/Client.cpp2
-rw-r--r--cpp/test/IceUtil/thread/AliveTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/AliveTest.h2
-rw-r--r--cpp/test/IceUtil/thread/Client.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CountDownLatchTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CountDownLatchTest.h2
-rw-r--r--cpp/test/IceUtil/thread/CreateTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CreateTest.h2
-rw-r--r--cpp/test/IceUtil/thread/MonitorMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorRecMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/MutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/RecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/RecMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/SleepTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/SleepTest.h2
-rw-r--r--cpp/test/IceUtil/thread/StartTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/StartTest.h2
-rw-r--r--cpp/test/IceUtil/thread/TestBase.cpp2
-rw-r--r--cpp/test/IceUtil/thread/TestBase.h2
-rw-r--r--cpp/test/IceUtil/thread/TestSuite.cpp2
-rw-r--r--cpp/test/IceUtil/thread/TestSuite.h2
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp2
-rw-r--r--cpp/test/IceUtil/unicode/Client.cpp2
-rw-r--r--cpp/test/IceUtil/uuid/Client.cpp2
-rw-r--r--cpp/test/Slice/errorDetection/CaseInsensitive.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ChangedMeaning.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ClassRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ConstDef.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DataMemberRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DeclaratorMissing.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DerivedRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DictionaryRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DuplicateParameter.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DuplicateThrows.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumEmpty.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumeratorDuplication.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumeratorValues.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ExceptionRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IdentAsKeyword.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IdentAsKeywordUnderscore.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalDeclaration.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalDictionary.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalIdentifier.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalLocal.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalMI.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice2
-rw-r--r--cpp/test/Slice/errorDetection/InterfaceMismatch.ice2
-rw-r--r--cpp/test/Slice/errorDetection/InterfaceRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/LocalMismatch.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotClassOrInterface.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotException.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotType.ice2
-rw-r--r--cpp/test/Slice/errorDetection/OperationRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/OptionalMembers.ice2
-rw-r--r--cpp/test/Slice/errorDetection/OptionalParams.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsClass.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsModule.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice2
-rw-r--r--cpp/test/Slice/errorDetection/Reserved.ice2
-rw-r--r--cpp/test/Slice/errorDetection/SelfContainment.ice2
-rw-r--r--cpp/test/Slice/errorDetection/SequenceRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/StructMembers.ice2
-rw-r--r--cpp/test/Slice/errorDetection/StructRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/Undefined.ice2
-rw-r--r--cpp/test/Slice/errorDetection/WrongProxyType.ice2
-rw-r--r--cpp/test/Slice/errorDetection/include/IcePrefix.ice2
-rw-r--r--cpp/test/Slice/macros/Client.cpp2
-rw-r--r--cpp/test/Slice/macros/Test.ice2
-rw-r--r--cpp/test/Slice/parser/CircularA.ice2
-rw-r--r--cpp/test/Slice/parser/CircularB.ice2
-rw-r--r--cpp/test/Slice/structure/Client.cpp2
-rw-r--r--cpp/test/Slice/structure/Test.ice2
-rw-r--r--cpp/test/Slice/utf8BOM/Test.ice2
-rw-r--r--cpp/test/include/TestCommon.h2
-rw-r--r--cpp/test/include/TestHelper.h2
-rw-r--r--cpp/test/uwp/testSuiteApp/App.xaml.cpp2
-rw-r--r--cpp/test/uwp/testSuiteApp/App.xaml.h2
1173 files changed, 1173 insertions, 11930 deletions
diff --git a/cpp/Makefile b/cpp/Makefile
index 8e8e6ec0c89..78cc299af5e 100644
--- a/cpp/Makefile
+++ b/cpp/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2017 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.
diff --git a/cpp/allTests.py b/cpp/allTests.py
index e4360c465d3..18df973cab0 100755
--- a/cpp/allTests.py
+++ b/cpp/allTests.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2017 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.
diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
index 451248136e9..e370286f0d1 100644
--- a/cpp/config/Make.rules
+++ b/cpp/config/Make.rules
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2017 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.
diff --git a/cpp/config/Make.rules.MINGW b/cpp/config/Make.rules.MINGW
index 7eb120e1b4a..b0a0997d823 100644
--- a/cpp/config/Make.rules.MINGW
+++ b/cpp/config/Make.rules.MINGW
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2017 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.
diff --git a/cpp/config/ice_ca.cnf b/cpp/config/ice_ca.cnf
index 76768cdf572..2477567c0dc 100644
--- a/cpp/config/ice_ca.cnf
+++ b/cpp/config/ice_ca.cnf
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2017 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.
diff --git a/cpp/config/templates.xml b/cpp/config/templates.xml
index 02ef6a16c20..79f8a290a70 100644
--- a/cpp/config/templates.xml
+++ b/cpp/config/templates.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+ Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Glacier2/Application.h b/cpp/include/Glacier2/Application.h
index 9568ea11e7e..96c06e6c07b 100644
--- a/cpp/include/Glacier2/Application.h
+++ b/cpp/include/Glacier2/Application.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Glacier2/Config.h b/cpp/include/Glacier2/Config.h
index ef6a4d62cbc..79a4144cf95 100644
--- a/cpp/include/Glacier2/Config.h
+++ b/cpp/include/Glacier2/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Glacier2/Glacier2.h b/cpp/include/Glacier2/Glacier2.h
index 70143b7a8e2..760187ce073 100644
--- a/cpp/include/Glacier2/Glacier2.h
+++ b/cpp/include/Glacier2/Glacier2.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Glacier2/NullPermissionsVerifier.h b/cpp/include/Glacier2/NullPermissionsVerifier.h
index 25cd4955e95..6007ff89e4b 100644
--- a/cpp/include/Glacier2/NullPermissionsVerifier.h
+++ b/cpp/include/Glacier2/NullPermissionsVerifier.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Glacier2/SessionHelper.h b/cpp/include/Glacier2/SessionHelper.h
index 7447db77804..f2d26d3779a 100644
--- a/cpp/include/Glacier2/SessionHelper.h
+++ b/cpp/include/Glacier2/SessionHelper.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Application.h b/cpp/include/Ice/Application.h
index 866c52b4e76..379542896d3 100644
--- a/cpp/include/Ice/Application.h
+++ b/cpp/include/Ice/Application.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/AsyncResult.h b/cpp/include/Ice/AsyncResult.h
index 639a44ed278..c16e6341e03 100644
--- a/cpp/include/Ice/AsyncResult.h
+++ b/cpp/include/Ice/AsyncResult.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/AsyncResultF.h b/cpp/include/Ice/AsyncResultF.h
index 13d904f81d2..157db2fb672 100644
--- a/cpp/include/Ice/AsyncResultF.h
+++ b/cpp/include/Ice/AsyncResultF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/BatchRequestInterceptor.h b/cpp/include/Ice/BatchRequestInterceptor.h
index 88907554efa..70c6a7a8e61 100644
--- a/cpp/include/Ice/BatchRequestInterceptor.h
+++ b/cpp/include/Ice/BatchRequestInterceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/BatchRequestQueueF.h b/cpp/include/Ice/BatchRequestQueueF.h
index 3e671ca8490..fc396fbdeb9 100644
--- a/cpp/include/Ice/BatchRequestQueueF.h
+++ b/cpp/include/Ice/BatchRequestQueueF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Buffer.h b/cpp/include/Ice/Buffer.h
index 2384cfcd314..c9264e258cb 100644
--- a/cpp/include/Ice/Buffer.h
+++ b/cpp/include/Ice/Buffer.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/CommunicatorAsync.h b/cpp/include/Ice/CommunicatorAsync.h
index 5dfdadd44aa..4dcbb9d4310 100644
--- a/cpp/include/Ice/CommunicatorAsync.h
+++ b/cpp/include/Ice/CommunicatorAsync.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Config.h b/cpp/include/Ice/Config.h
index eec473a0ddb..756837794a7 100644
--- a/cpp/include/Ice/Config.h
+++ b/cpp/include/Ice/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ConnectionAsync.h b/cpp/include/Ice/ConnectionAsync.h
index 58f54cc3492..efb0bbc3ec6 100644
--- a/cpp/include/Ice/ConnectionAsync.h
+++ b/cpp/include/Ice/ConnectionAsync.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ConnectionIF.h b/cpp/include/Ice/ConnectionIF.h
index 1543affe3fe..c783e0d6fa3 100644
--- a/cpp/include/Ice/ConnectionIF.h
+++ b/cpp/include/Ice/ConnectionIF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/DispatchInterceptor.h b/cpp/include/Ice/DispatchInterceptor.h
index aca5b713aaf..5233f2fadbb 100644
--- a/cpp/include/Ice/DispatchInterceptor.h
+++ b/cpp/include/Ice/DispatchInterceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Dispatcher.h b/cpp/include/Ice/Dispatcher.h
index 8b293160ef0..c30c240699c 100644
--- a/cpp/include/Ice/Dispatcher.h
+++ b/cpp/include/Ice/Dispatcher.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/DynamicLibrary.h b/cpp/include/Ice/DynamicLibrary.h
index d3764338c90..f181dc0196a 100644
--- a/cpp/include/Ice/DynamicLibrary.h
+++ b/cpp/include/Ice/DynamicLibrary.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/DynamicLibraryF.h b/cpp/include/Ice/DynamicLibraryF.h
index 7500f359454..3130135d1ca 100644
--- a/cpp/include/Ice/DynamicLibraryF.h
+++ b/cpp/include/Ice/DynamicLibraryF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Exception.h b/cpp/include/Ice/Exception.h
index 954d1fcaf42..dd47405c1f0 100644
--- a/cpp/include/Ice/Exception.h
+++ b/cpp/include/Ice/Exception.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/FactoryTable.h b/cpp/include/Ice/FactoryTable.h
index ed42422d9dd..401d6a94e3b 100644
--- a/cpp/include/Ice/FactoryTable.h
+++ b/cpp/include/Ice/FactoryTable.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/FactoryTableInit.h b/cpp/include/Ice/FactoryTableInit.h
index 3a3903e36ad..00afef7c91c 100644
--- a/cpp/include/Ice/FactoryTableInit.h
+++ b/cpp/include/Ice/FactoryTableInit.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Format.h b/cpp/include/Ice/Format.h
index a5d7ac71856..4e756fd62ce 100644
--- a/cpp/include/Ice/Format.h
+++ b/cpp/include/Ice/Format.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Functional.h b/cpp/include/Ice/Functional.h
index 31de422245a..a132c57033b 100644
--- a/cpp/include/Ice/Functional.h
+++ b/cpp/include/Ice/Functional.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/GCObject.h b/cpp/include/Ice/GCObject.h
index 171e12c3cca..1b1d80f0091 100644
--- a/cpp/include/Ice/GCObject.h
+++ b/cpp/include/Ice/GCObject.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Handle.h b/cpp/include/Ice/Handle.h
index fc3ad32a833..4e11cffca2a 100644
--- a/cpp/include/Ice/Handle.h
+++ b/cpp/include/Ice/Handle.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Ice.h b/cpp/include/Ice/Ice.h
index 9a26eb96a3b..966eeead1aa 100644
--- a/cpp/include/Ice/Ice.h
+++ b/cpp/include/Ice/Ice.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Incoming.h b/cpp/include/Ice/Incoming.h
index ba3b1977aaa..7b24cf482f9 100644
--- a/cpp/include/Ice/Incoming.h
+++ b/cpp/include/Ice/Incoming.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/IncomingAsync.h b/cpp/include/Ice/IncomingAsync.h
index 2d7a5dc1152..5df41c0ed83 100644
--- a/cpp/include/Ice/IncomingAsync.h
+++ b/cpp/include/Ice/IncomingAsync.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/IncomingAsyncF.h b/cpp/include/Ice/IncomingAsyncF.h
index 9b28e60d921..73cf63c4ac2 100644
--- a/cpp/include/Ice/IncomingAsyncF.h
+++ b/cpp/include/Ice/IncomingAsyncF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h
index 1702cbd2d91..5461a3f4017 100644
--- a/cpp/include/Ice/Initialize.h
+++ b/cpp/include/Ice/Initialize.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/InstanceF.h b/cpp/include/Ice/InstanceF.h
index 2b7786e6d37..b5ff9d77aa4 100644
--- a/cpp/include/Ice/InstanceF.h
+++ b/cpp/include/Ice/InstanceF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/LocalObject.h b/cpp/include/Ice/LocalObject.h
index 01f17caf60f..b3c47c225f1 100644
--- a/cpp/include/Ice/LocalObject.h
+++ b/cpp/include/Ice/LocalObject.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/LocalObjectF.h b/cpp/include/Ice/LocalObjectF.h
index 0351851bee1..cc25e8b2afc 100644
--- a/cpp/include/Ice/LocalObjectF.h
+++ b/cpp/include/Ice/LocalObjectF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/LoggerUtil.h b/cpp/include/Ice/LoggerUtil.h
index 8352e72c2e6..a3cfddc49b2 100644
--- a/cpp/include/Ice/LoggerUtil.h
+++ b/cpp/include/Ice/LoggerUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/MetricsAdminI.h b/cpp/include/Ice/MetricsAdminI.h
index d7c045c123e..a76a74db305 100644
--- a/cpp/include/Ice/MetricsAdminI.h
+++ b/cpp/include/Ice/MetricsAdminI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/MetricsFunctional.h b/cpp/include/Ice/MetricsFunctional.h
index 7bb9e1303e5..89f3d4b4312 100644
--- a/cpp/include/Ice/MetricsFunctional.h
+++ b/cpp/include/Ice/MetricsFunctional.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/MetricsObserverI.h b/cpp/include/Ice/MetricsObserverI.h
index cd0e6703e67..7a3710cd2bc 100644
--- a/cpp/include/Ice/MetricsObserverI.h
+++ b/cpp/include/Ice/MetricsObserverI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/NativePropertiesAdmin.h b/cpp/include/Ice/NativePropertiesAdmin.h
index 681682c4ab7..15bcbb4f9e4 100644
--- a/cpp/include/Ice/NativePropertiesAdmin.h
+++ b/cpp/include/Ice/NativePropertiesAdmin.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Object.h b/cpp/include/Ice/Object.h
index 0a5628a7676..6aa5c18ade6 100644
--- a/cpp/include/Ice/Object.h
+++ b/cpp/include/Ice/Object.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ObjectF.h b/cpp/include/Ice/ObjectF.h
index 577e1faaf04..cd233caeb99 100644
--- a/cpp/include/Ice/ObjectF.h
+++ b/cpp/include/Ice/ObjectF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ObserverHelper.h b/cpp/include/Ice/ObserverHelper.h
index 0cf15178dcf..5cddc952b01 100644
--- a/cpp/include/Ice/ObserverHelper.h
+++ b/cpp/include/Ice/ObserverHelper.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/OutgoingAsync.h b/cpp/include/Ice/OutgoingAsync.h
index c82884f5ab9..84a11e84a4c 100644
--- a/cpp/include/Ice/OutgoingAsync.h
+++ b/cpp/include/Ice/OutgoingAsync.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/OutgoingAsyncF.h b/cpp/include/Ice/OutgoingAsyncF.h
index 356b2843a30..b49d3dc112e 100644
--- a/cpp/include/Ice/OutgoingAsyncF.h
+++ b/cpp/include/Ice/OutgoingAsyncF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Protocol.h b/cpp/include/Ice/Protocol.h
index 6c4e3d30844..e29cd892f1d 100644
--- a/cpp/include/Ice/Protocol.h
+++ b/cpp/include/Ice/Protocol.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Proxy.h b/cpp/include/Ice/Proxy.h
index 461c873ccdd..375cec1f145 100644
--- a/cpp/include/Ice/Proxy.h
+++ b/cpp/include/Ice/Proxy.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ProxyF.h b/cpp/include/Ice/ProxyF.h
index 025ab41b044..7fcbb158047 100644
--- a/cpp/include/Ice/ProxyF.h
+++ b/cpp/include/Ice/ProxyF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ProxyFactoryF.h b/cpp/include/Ice/ProxyFactoryF.h
index 5ea26a91216..ae1ae60cf9f 100644
--- a/cpp/include/Ice/ProxyFactoryF.h
+++ b/cpp/include/Ice/ProxyFactoryF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ProxyHandle.h b/cpp/include/Ice/ProxyHandle.h
index d763a146513..cff7f47e0c5 100644
--- a/cpp/include/Ice/ProxyHandle.h
+++ b/cpp/include/Ice/ProxyHandle.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ReferenceF.h b/cpp/include/Ice/ReferenceF.h
index 4ffc70c9db4..fa6662c1293 100644
--- a/cpp/include/Ice/ReferenceF.h
+++ b/cpp/include/Ice/ReferenceF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/RegisterPlugins.h b/cpp/include/Ice/RegisterPlugins.h
index 4300ea254b5..28d4e6fce1a 100644
--- a/cpp/include/Ice/RegisterPlugins.h
+++ b/cpp/include/Ice/RegisterPlugins.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/RequestHandlerF.h b/cpp/include/Ice/RequestHandlerF.h
index c4deca41076..6ead8421bc0 100644
--- a/cpp/include/Ice/RequestHandlerF.h
+++ b/cpp/include/Ice/RequestHandlerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ResponseHandlerF.h b/cpp/include/Ice/ResponseHandlerF.h
index b75ffba27ff..d848a1d307b 100644
--- a/cpp/include/Ice/ResponseHandlerF.h
+++ b/cpp/include/Ice/ResponseHandlerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ServantManagerF.h b/cpp/include/Ice/ServantManagerF.h
index 61fafe937f7..5a7760e8f01 100644
--- a/cpp/include/Ice/ServantManagerF.h
+++ b/cpp/include/Ice/ServantManagerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/Service.h b/cpp/include/Ice/Service.h
index 31dd1180e4e..8c0b786cda9 100644
--- a/cpp/include/Ice/Service.h
+++ b/cpp/include/Ice/Service.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/SliceChecksums.h b/cpp/include/Ice/SliceChecksums.h
index 72dec6884b9..e363f493b02 100644
--- a/cpp/include/Ice/SliceChecksums.h
+++ b/cpp/include/Ice/SliceChecksums.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/SlicedData.h b/cpp/include/Ice/SlicedData.h
index 820bdda2732..6774885028f 100644
--- a/cpp/include/Ice/SlicedData.h
+++ b/cpp/include/Ice/SlicedData.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/SlicedDataF.h b/cpp/include/Ice/SlicedDataF.h
index ebaed237f3b..aa14576ce4a 100644
--- a/cpp/include/Ice/SlicedDataF.h
+++ b/cpp/include/Ice/SlicedDataF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/StreamHelpers.h b/cpp/include/Ice/StreamHelpers.h
index bc1a972f3d7..f9cc3f0b48c 100644
--- a/cpp/include/Ice/StreamHelpers.h
+++ b/cpp/include/Ice/StreamHelpers.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/ThreadPoolF.h b/cpp/include/Ice/ThreadPoolF.h
index 74fe33ac290..491eb1ccdc1 100644
--- a/cpp/include/Ice/ThreadPoolF.h
+++ b/cpp/include/Ice/ThreadPoolF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/Ice/UserExceptionFactory.h b/cpp/include/Ice/UserExceptionFactory.h
index dc406286fed..ad47d764dfc 100644
--- a/cpp/include/Ice/UserExceptionFactory.h
+++ b/cpp/include/Ice/UserExceptionFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceBox/Config.h b/cpp/include/IceBox/Config.h
index 041f09b91d7..73935353a54 100644
--- a/cpp/include/IceBox/Config.h
+++ b/cpp/include/IceBox/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceGrid/Config.h b/cpp/include/IceGrid/Config.h
index 24d4592278b..289b527e654 100644
--- a/cpp/include/IceGrid/Config.h
+++ b/cpp/include/IceGrid/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceGrid/IceGrid.h b/cpp/include/IceGrid/IceGrid.h
index a3cd51beb8b..c4b756ec4b3 100644
--- a/cpp/include/IceGrid/IceGrid.h
+++ b/cpp/include/IceGrid/IceGrid.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceGrid/ReplicaGroupFilter.h b/cpp/include/IceGrid/ReplicaGroupFilter.h
index b7c1a14fbb2..26104c8ae78 100644
--- a/cpp/include/IceGrid/ReplicaGroupFilter.h
+++ b/cpp/include/IceGrid/ReplicaGroupFilter.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IcePatch2/ClientUtil.h b/cpp/include/IcePatch2/ClientUtil.h
index c8cb8395970..4c1cfa2fa0b 100644
--- a/cpp/include/IcePatch2/ClientUtil.h
+++ b/cpp/include/IcePatch2/ClientUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IcePatch2/Config.h b/cpp/include/IcePatch2/Config.h
index c1c291b239c..e1d3594c17c 100644
--- a/cpp/include/IcePatch2/Config.h
+++ b/cpp/include/IcePatch2/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IcePatch2/IcePatch2.h b/cpp/include/IcePatch2/IcePatch2.h
index 3c3f7e7f1ad..2e9f37261c6 100644
--- a/cpp/include/IcePatch2/IcePatch2.h
+++ b/cpp/include/IcePatch2/IcePatch2.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceSSL/Config.h b/cpp/include/IceSSL/Config.h
index 4cbbead9c1e..1436fb61143 100644
--- a/cpp/include/IceSSL/Config.h
+++ b/cpp/include/IceSSL/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceSSL/IceSSL.h b/cpp/include/IceSSL/IceSSL.h
index c4d46af7a9e..49cc160d3cc 100644
--- a/cpp/include/IceSSL/IceSSL.h
+++ b/cpp/include/IceSSL/IceSSL.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceSSL/Plugin.h b/cpp/include/IceSSL/Plugin.h
index 73b4015b4d0..4e9849431e6 100644
--- a/cpp/include/IceSSL/Plugin.h
+++ b/cpp/include/IceSSL/Plugin.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceStorm/Config.h b/cpp/include/IceStorm/Config.h
index 4c92b3883d5..2c93704e1b8 100644
--- a/cpp/include/IceStorm/Config.h
+++ b/cpp/include/IceStorm/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Atomic.h b/cpp/include/IceUtil/Atomic.h
index d8fde15de2a..9d5da29dbef 100644
--- a/cpp/include/IceUtil/Atomic.h
+++ b/cpp/include/IceUtil/Atomic.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Cond.h b/cpp/include/IceUtil/Cond.h
index dd052cc6a41..a2d6bb683ac 100644
--- a/cpp/include/IceUtil/Cond.h
+++ b/cpp/include/IceUtil/Cond.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
index 177723391a0..050cb6878bf 100644
--- a/cpp/include/IceUtil/Config.h
+++ b/cpp/include/IceUtil/Config.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/CountDownLatch.h b/cpp/include/IceUtil/CountDownLatch.h
index 53bcd74cf35..4f1adce478e 100644
--- a/cpp/include/IceUtil/CountDownLatch.h
+++ b/cpp/include/IceUtil/CountDownLatch.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/CtrlCHandler.h b/cpp/include/IceUtil/CtrlCHandler.h
index 0659033303a..d203804b898 100644
--- a/cpp/include/IceUtil/CtrlCHandler.h
+++ b/cpp/include/IceUtil/CtrlCHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/DisableWarnings.h b/cpp/include/IceUtil/DisableWarnings.h
index 9c0dac95c8d..4c8bb525be5 100644
--- a/cpp/include/IceUtil/DisableWarnings.h
+++ b/cpp/include/IceUtil/DisableWarnings.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Exception.h b/cpp/include/IceUtil/Exception.h
index 20d7e074469..759818da858 100644
--- a/cpp/include/IceUtil/Exception.h
+++ b/cpp/include/IceUtil/Exception.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Functional.h b/cpp/include/IceUtil/Functional.h
index f0788451be5..2eed5550382 100644
--- a/cpp/include/IceUtil/Functional.h
+++ b/cpp/include/IceUtil/Functional.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Handle.h b/cpp/include/IceUtil/Handle.h
index 91a58be60f0..ea26c9e5921 100644
--- a/cpp/include/IceUtil/Handle.h
+++ b/cpp/include/IceUtil/Handle.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/IceUtil.h b/cpp/include/IceUtil/IceUtil.h
index b7b3c3c30c3..1d29150ef83 100644
--- a/cpp/include/IceUtil/IceUtil.h
+++ b/cpp/include/IceUtil/IceUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/InputUtil.h b/cpp/include/IceUtil/InputUtil.h
index 9f44936a91b..7c7665853fe 100644
--- a/cpp/include/IceUtil/InputUtil.h
+++ b/cpp/include/IceUtil/InputUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Iterator.h b/cpp/include/IceUtil/Iterator.h
index 8bf8d7bd7e5..7c54993d9d5 100644
--- a/cpp/include/IceUtil/Iterator.h
+++ b/cpp/include/IceUtil/Iterator.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Lock.h b/cpp/include/IceUtil/Lock.h
index 377b9fa73dc..d2eaf8664eb 100644
--- a/cpp/include/IceUtil/Lock.h
+++ b/cpp/include/IceUtil/Lock.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Monitor.h b/cpp/include/IceUtil/Monitor.h
index fc3c08f84ed..36004ca01eb 100644
--- a/cpp/include/IceUtil/Monitor.h
+++ b/cpp/include/IceUtil/Monitor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Mutex.h b/cpp/include/IceUtil/Mutex.h
index 5e8d04bef94..01bb41b23c1 100644
--- a/cpp/include/IceUtil/Mutex.h
+++ b/cpp/include/IceUtil/Mutex.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/MutexProtocol.h b/cpp/include/IceUtil/MutexProtocol.h
index 2c0f084f387..f27e2b74e75 100644
--- a/cpp/include/IceUtil/MutexProtocol.h
+++ b/cpp/include/IceUtil/MutexProtocol.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/MutexPtrLock.h b/cpp/include/IceUtil/MutexPtrLock.h
index b04c429e5b6..1132471175b 100644
--- a/cpp/include/IceUtil/MutexPtrLock.h
+++ b/cpp/include/IceUtil/MutexPtrLock.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/MutexPtrTryLock.h b/cpp/include/IceUtil/MutexPtrTryLock.h
index 2ff971dc835..1d01733c0b8 100644
--- a/cpp/include/IceUtil/MutexPtrTryLock.h
+++ b/cpp/include/IceUtil/MutexPtrTryLock.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Optional.h b/cpp/include/IceUtil/Optional.h
index 60493e30fe3..73b898c72f6 100644
--- a/cpp/include/IceUtil/Optional.h
+++ b/cpp/include/IceUtil/Optional.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Options.h b/cpp/include/IceUtil/Options.h
index ffae862f88b..47df02d2228 100644
--- a/cpp/include/IceUtil/Options.h
+++ b/cpp/include/IceUtil/Options.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/OutputUtil.h b/cpp/include/IceUtil/OutputUtil.h
index e7bc5f9b5c1..28edcdb036c 100644
--- a/cpp/include/IceUtil/OutputUtil.h
+++ b/cpp/include/IceUtil/OutputUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/PopDisableWarnings.h b/cpp/include/IceUtil/PopDisableWarnings.h
index e8d1ee1c3e2..498a77e116f 100644
--- a/cpp/include/IceUtil/PopDisableWarnings.h
+++ b/cpp/include/IceUtil/PopDisableWarnings.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/PushDisableWarnings.h b/cpp/include/IceUtil/PushDisableWarnings.h
index 29d741d2cb2..4dcff0ae560 100644
--- a/cpp/include/IceUtil/PushDisableWarnings.h
+++ b/cpp/include/IceUtil/PushDisableWarnings.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Random.h b/cpp/include/IceUtil/Random.h
index 51425808cc6..e4eb0a1c241 100644
--- a/cpp/include/IceUtil/Random.h
+++ b/cpp/include/IceUtil/Random.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/RecMutex.h b/cpp/include/IceUtil/RecMutex.h
index 2f245fcc550..2aae35187ff 100644
--- a/cpp/include/IceUtil/RecMutex.h
+++ b/cpp/include/IceUtil/RecMutex.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/ScannerConfig.h b/cpp/include/IceUtil/ScannerConfig.h
index c1447764284..254ddb7c8a5 100644
--- a/cpp/include/IceUtil/ScannerConfig.h
+++ b/cpp/include/IceUtil/ScannerConfig.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/ScopedArray.h b/cpp/include/IceUtil/ScopedArray.h
index 594f9836a2e..21aa7e7702e 100644
--- a/cpp/include/IceUtil/ScopedArray.h
+++ b/cpp/include/IceUtil/ScopedArray.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Shared.h b/cpp/include/IceUtil/Shared.h
index 756b10e5f22..2e2a4bbc080 100644
--- a/cpp/include/IceUtil/Shared.h
+++ b/cpp/include/IceUtil/Shared.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/StopWatch.h b/cpp/include/IceUtil/StopWatch.h
index bd9d53c9d54..2c6215c7795 100644
--- a/cpp/include/IceUtil/StopWatch.h
+++ b/cpp/include/IceUtil/StopWatch.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/StringUtil.h b/cpp/include/IceUtil/StringUtil.h
index 43c58d1625a..cb0da8b7a06 100644
--- a/cpp/include/IceUtil/StringUtil.h
+++ b/cpp/include/IceUtil/StringUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Thread.h b/cpp/include/IceUtil/Thread.h
index 2431038a53e..304a0b5a8e2 100644
--- a/cpp/include/IceUtil/Thread.h
+++ b/cpp/include/IceUtil/Thread.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/ThreadException.h b/cpp/include/IceUtil/ThreadException.h
index 2e0756938eb..2652805ff81 100644
--- a/cpp/include/IceUtil/ThreadException.h
+++ b/cpp/include/IceUtil/ThreadException.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Time.h b/cpp/include/IceUtil/Time.h
index 5b57972f136..98e14017c26 100644
--- a/cpp/include/IceUtil/Time.h
+++ b/cpp/include/IceUtil/Time.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/Timer.h b/cpp/include/IceUtil/Timer.h
index 1d6261f3796..925e4dd291f 100644
--- a/cpp/include/IceUtil/Timer.h
+++ b/cpp/include/IceUtil/Timer.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/UUID.h b/cpp/include/IceUtil/UUID.h
index 76b77203ed5..1cf4f397d4e 100644
--- a/cpp/include/IceUtil/UUID.h
+++ b/cpp/include/IceUtil/UUID.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/include/IceUtil/UndefSysMacros.h b/cpp/include/IceUtil/UndefSysMacros.h
index 62201f45a34..50498aa0bf6 100644
--- a/cpp/include/IceUtil/UndefSysMacros.h
+++ b/cpp/include/IceUtil/UndefSysMacros.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Blobject.cpp b/cpp/src/Glacier2/Blobject.cpp
index 1f58da34ffb..912eacab61b 100644
--- a/cpp/src/Glacier2/Blobject.cpp
+++ b/cpp/src/Glacier2/Blobject.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Blobject.h b/cpp/src/Glacier2/Blobject.h
index 4e0e0aa92c9..323f581a56b 100644
--- a/cpp/src/Glacier2/Blobject.h
+++ b/cpp/src/Glacier2/Blobject.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ClientBlobject.cpp b/cpp/src/Glacier2/ClientBlobject.cpp
index d7aef4ae401..b48cb65b2ce 100644
--- a/cpp/src/Glacier2/ClientBlobject.cpp
+++ b/cpp/src/Glacier2/ClientBlobject.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ClientBlobject.h b/cpp/src/Glacier2/ClientBlobject.h
index a84ba8f7270..5fdd919318c 100644
--- a/cpp/src/Glacier2/ClientBlobject.h
+++ b/cpp/src/Glacier2/ClientBlobject.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/FilterI.cpp b/cpp/src/Glacier2/FilterI.cpp
index 5cf69f4852f..f0b186b87f9 100644
--- a/cpp/src/Glacier2/FilterI.cpp
+++ b/cpp/src/Glacier2/FilterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/FilterI.h b/cpp/src/Glacier2/FilterI.h
index af3b2ca851e..b4c93801454 100644
--- a/cpp/src/Glacier2/FilterI.h
+++ b/cpp/src/Glacier2/FilterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/FilterManager.cpp b/cpp/src/Glacier2/FilterManager.cpp
index 7457367f0b9..030b559e621 100644
--- a/cpp/src/Glacier2/FilterManager.cpp
+++ b/cpp/src/Glacier2/FilterManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/FilterManager.h b/cpp/src/Glacier2/FilterManager.h
index 00e1f4ce300..eb6243d5712 100644
--- a/cpp/src/Glacier2/FilterManager.h
+++ b/cpp/src/Glacier2/FilterManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Glacier2Router.cpp b/cpp/src/Glacier2/Glacier2Router.cpp
index 695579d16e7..0fe52c41d86 100644
--- a/cpp/src/Glacier2/Glacier2Router.cpp
+++ b/cpp/src/Glacier2/Glacier2Router.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Instance.cpp b/cpp/src/Glacier2/Instance.cpp
index 2f1b83d49f4..cde459ee209 100644
--- a/cpp/src/Glacier2/Instance.cpp
+++ b/cpp/src/Glacier2/Instance.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Instance.h b/cpp/src/Glacier2/Instance.h
index ed1fd76f3ba..7b927605af8 100644
--- a/cpp/src/Glacier2/Instance.h
+++ b/cpp/src/Glacier2/Instance.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/Instrumentation.ice b/cpp/src/Glacier2/Instrumentation.ice
index 1e90d3c17d5..14277d26f89 100644
--- a/cpp/src/Glacier2/Instrumentation.ice
+++ b/cpp/src/Glacier2/Instrumentation.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/InstrumentationI.cpp b/cpp/src/Glacier2/InstrumentationI.cpp
index 65166a2d0b2..bf46dca72f3 100644
--- a/cpp/src/Glacier2/InstrumentationI.cpp
+++ b/cpp/src/Glacier2/InstrumentationI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/InstrumentationI.h b/cpp/src/Glacier2/InstrumentationI.h
index 37df716cecb..d2faab60d06 100644
--- a/cpp/src/Glacier2/InstrumentationI.h
+++ b/cpp/src/Glacier2/InstrumentationI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ProxyVerifier.cpp b/cpp/src/Glacier2/ProxyVerifier.cpp
index 8acc0bea7b0..24f0318b6f3 100644
--- a/cpp/src/Glacier2/ProxyVerifier.cpp
+++ b/cpp/src/Glacier2/ProxyVerifier.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ProxyVerifier.h b/cpp/src/Glacier2/ProxyVerifier.h
index 7dae36e0583..307e1b6c655 100644
--- a/cpp/src/Glacier2/ProxyVerifier.h
+++ b/cpp/src/Glacier2/ProxyVerifier.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index 8fa3644cd2d..6d1a4875850 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RequestQueue.h b/cpp/src/Glacier2/RequestQueue.h
index 94ca48b089f..bc7e6f648bd 100644
--- a/cpp/src/Glacier2/RequestQueue.h
+++ b/cpp/src/Glacier2/RequestQueue.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RouterI.cpp b/cpp/src/Glacier2/RouterI.cpp
index c1935786ce0..a33f2cb4dac 100644
--- a/cpp/src/Glacier2/RouterI.cpp
+++ b/cpp/src/Glacier2/RouterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RouterI.h b/cpp/src/Glacier2/RouterI.h
index 67944d6524e..cb94050469d 100644
--- a/cpp/src/Glacier2/RouterI.h
+++ b/cpp/src/Glacier2/RouterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RoutingTable.cpp b/cpp/src/Glacier2/RoutingTable.cpp
index feb329e61b6..0b214c7a07d 100644
--- a/cpp/src/Glacier2/RoutingTable.cpp
+++ b/cpp/src/Glacier2/RoutingTable.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/RoutingTable.h b/cpp/src/Glacier2/RoutingTable.h
index 4e816152b9c..8428ca1c138 100644
--- a/cpp/src/Glacier2/RoutingTable.h
+++ b/cpp/src/Glacier2/RoutingTable.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ServerBlobject.cpp b/cpp/src/Glacier2/ServerBlobject.cpp
index 45486a5082b..a1c5dd50e61 100644
--- a/cpp/src/Glacier2/ServerBlobject.cpp
+++ b/cpp/src/Glacier2/ServerBlobject.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/ServerBlobject.h b/cpp/src/Glacier2/ServerBlobject.h
index 324756e1f16..a52a54ad506 100644
--- a/cpp/src/Glacier2/ServerBlobject.h
+++ b/cpp/src/Glacier2/ServerBlobject.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp
index daed57a99d1..66afe1fe2b4 100644
--- a/cpp/src/Glacier2/SessionRouterI.cpp
+++ b/cpp/src/Glacier2/SessionRouterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2/SessionRouterI.h b/cpp/src/Glacier2/SessionRouterI.h
index 1280a38af6a..4d4a3eb4eee 100644
--- a/cpp/src/Glacier2/SessionRouterI.h
+++ b/cpp/src/Glacier2/SessionRouterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2CryptPermissionsVerifier/CryptPermissionsVerifierI.cpp b/cpp/src/Glacier2CryptPermissionsVerifier/CryptPermissionsVerifierI.cpp
index 1d177de1018..68666b9531a 100644
--- a/cpp/src/Glacier2CryptPermissionsVerifier/CryptPermissionsVerifierI.cpp
+++ b/cpp/src/Glacier2CryptPermissionsVerifier/CryptPermissionsVerifierI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2Lib/Application.cpp b/cpp/src/Glacier2Lib/Application.cpp
index b318af47f92..7715afc2cab 100644
--- a/cpp/src/Glacier2Lib/Application.cpp
+++ b/cpp/src/Glacier2Lib/Application.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2Lib/NullPermissionsVerifier.cpp b/cpp/src/Glacier2Lib/NullPermissionsVerifier.cpp
index abc76a3b6e8..d438b2640fc 100644
--- a/cpp/src/Glacier2Lib/NullPermissionsVerifier.cpp
+++ b/cpp/src/Glacier2Lib/NullPermissionsVerifier.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Glacier2Lib/SessionHelper.cpp b/cpp/src/Glacier2Lib/SessionHelper.cpp
index e0062fe898b..217dcbc36b8 100644
--- a/cpp/src/Glacier2Lib/SessionHelper.cpp
+++ b/cpp/src/Glacier2Lib/SessionHelper.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ACM.cpp b/cpp/src/Ice/ACM.cpp
index 8795874212a..87ae7920096 100644
--- a/cpp/src/Ice/ACM.cpp
+++ b/cpp/src/Ice/ACM.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ACM.h b/cpp/src/Ice/ACM.h
index 32e89ac02fe..169efd984db 100644
--- a/cpp/src/Ice/ACM.h
+++ b/cpp/src/Ice/ACM.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Acceptor.cpp b/cpp/src/Ice/Acceptor.cpp
index 892361d967d..a48d1f72907 100644
--- a/cpp/src/Ice/Acceptor.cpp
+++ b/cpp/src/Ice/Acceptor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Acceptor.h b/cpp/src/Ice/Acceptor.h
index fc5d06cc0ad..020bfb1eda3 100644
--- a/cpp/src/Ice/Acceptor.h
+++ b/cpp/src/Ice/Acceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/AcceptorF.h b/cpp/src/Ice/AcceptorF.h
index 8faf484c2c7..b894ff6df79 100644
--- a/cpp/src/Ice/AcceptorF.h
+++ b/cpp/src/Ice/AcceptorF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp
index 279e30d9b82..1097e6ab91c 100644
--- a/cpp/src/Ice/Application.cpp
+++ b/cpp/src/Ice/Application.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ArgVector.cpp b/cpp/src/Ice/ArgVector.cpp
index 149c7172bc6..90bf1761414 100644
--- a/cpp/src/Ice/ArgVector.cpp
+++ b/cpp/src/Ice/ArgVector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/AsyncResult.cpp b/cpp/src/Ice/AsyncResult.cpp
index bc19855bdb7..6d6826e755c 100644
--- a/cpp/src/Ice/AsyncResult.cpp
+++ b/cpp/src/Ice/AsyncResult.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Base64.cpp b/cpp/src/Ice/Base64.cpp
index 566785cc48b..3895b56b21f 100644
--- a/cpp/src/Ice/Base64.cpp
+++ b/cpp/src/Ice/Base64.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Base64.h b/cpp/src/Ice/Base64.h
index 57417fe542a..15ab7290ed9 100644
--- a/cpp/src/Ice/Base64.h
+++ b/cpp/src/Ice/Base64.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/BatchRequestQueue.cpp b/cpp/src/Ice/BatchRequestQueue.cpp
index 50b69a5436e..0a8d1927da1 100644
--- a/cpp/src/Ice/BatchRequestQueue.cpp
+++ b/cpp/src/Ice/BatchRequestQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/BatchRequestQueue.h b/cpp/src/Ice/BatchRequestQueue.h
index 9bdc2b90790..d63c82b1f81 100644
--- a/cpp/src/Ice/BatchRequestQueue.h
+++ b/cpp/src/Ice/BatchRequestQueue.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Buffer.cpp b/cpp/src/Ice/Buffer.cpp
index 33cbaeabc34..dc2f34d3793 100644
--- a/cpp/src/Ice/Buffer.cpp
+++ b/cpp/src/Ice/Buffer.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/CollocatedRequestHandler.cpp b/cpp/src/Ice/CollocatedRequestHandler.cpp
index 08d2d2f8aa0..a193c9f5f5d 100644
--- a/cpp/src/Ice/CollocatedRequestHandler.cpp
+++ b/cpp/src/Ice/CollocatedRequestHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/CollocatedRequestHandler.h b/cpp/src/Ice/CollocatedRequestHandler.h
index 00a559c8ea5..05fb9b80c93 100644
--- a/cpp/src/Ice/CollocatedRequestHandler.h
+++ b/cpp/src/Ice/CollocatedRequestHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index 3e31b9c7c71..656231ba3b0 100644
--- a/cpp/src/Ice/CommunicatorI.cpp
+++ b/cpp/src/Ice/CommunicatorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h
index 5c9035261f8..a49e3908654 100644
--- a/cpp/src/Ice/CommunicatorI.h
+++ b/cpp/src/Ice/CommunicatorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Cond.cpp b/cpp/src/Ice/Cond.cpp
index 756ef6db691..a319f066e93 100644
--- a/cpp/src/Ice/Cond.cpp
+++ b/cpp/src/Ice/Cond.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp
index 586852fe1fb..47c26f53da2 100644
--- a/cpp/src/Ice/ConnectRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectRequestHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectRequestHandler.h b/cpp/src/Ice/ConnectRequestHandler.h
index 4a0c5b2892b..013e7d0349f 100644
--- a/cpp/src/Ice/ConnectRequestHandler.h
+++ b/cpp/src/Ice/ConnectRequestHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectRequestHandlerF.h b/cpp/src/Ice/ConnectRequestHandlerF.h
index 974ca6f05fc..e85578792a2 100644
--- a/cpp/src/Ice/ConnectRequestHandlerF.h
+++ b/cpp/src/Ice/ConnectRequestHandlerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index 0234c1c33dd..9e59b77380c 100644
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h
index b8058ab593e..2bc809c1fca 100644
--- a/cpp/src/Ice/ConnectionFactory.h
+++ b/cpp/src/Ice/ConnectionFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index 1341cc44e5b..de109dfb713 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index bd6398362df..8605c4a014a 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionRequestHandler.cpp b/cpp/src/Ice/ConnectionRequestHandler.cpp
index 5705e28a9b0..3c9d07089c5 100644
--- a/cpp/src/Ice/ConnectionRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectionRequestHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectionRequestHandler.h b/cpp/src/Ice/ConnectionRequestHandler.h
index 4d58928803b..d61c0f1f768 100644
--- a/cpp/src/Ice/ConnectionRequestHandler.h
+++ b/cpp/src/Ice/ConnectionRequestHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Connector.cpp b/cpp/src/Ice/Connector.cpp
index a9a2ec72e3e..eedbb816af2 100644
--- a/cpp/src/Ice/Connector.cpp
+++ b/cpp/src/Ice/Connector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Connector.h b/cpp/src/Ice/Connector.h
index 12773c7c0a7..545cf44f22c 100644
--- a/cpp/src/Ice/Connector.h
+++ b/cpp/src/Ice/Connector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ConnectorF.h b/cpp/src/Ice/ConnectorF.h
index 87eef7d5c04..bdb4f6fed60 100644
--- a/cpp/src/Ice/ConnectorF.h
+++ b/cpp/src/Ice/ConnectorF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DLLMain.cpp b/cpp/src/Ice/DLLMain.cpp
index d2d26c480af..bf6300059d0 100644
--- a/cpp/src/Ice/DLLMain.cpp
+++ b/cpp/src/Ice/DLLMain.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp
index 823cd1ebca3..4e61890d373 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.cpp
+++ b/cpp/src/Ice/DefaultsAndOverrides.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h
index 44b869cfeea..540e1bde6f6 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.h
+++ b/cpp/src/Ice/DefaultsAndOverrides.h
@@ -1,7 +1,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DefaultsAndOverridesF.h b/cpp/src/Ice/DefaultsAndOverridesF.h
index 57ad0de7658..181b5c91dac 100644
--- a/cpp/src/Ice/DefaultsAndOverridesF.h
+++ b/cpp/src/Ice/DefaultsAndOverridesF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DispatchInterceptor.cpp b/cpp/src/Ice/DispatchInterceptor.cpp
index c178829aebf..0bf4c4c78c0 100644
--- a/cpp/src/Ice/DispatchInterceptor.cpp
+++ b/cpp/src/Ice/DispatchInterceptor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp
index 00bfb97131e..6273ebd7a98 100644
--- a/cpp/src/Ice/DynamicLibrary.cpp
+++ b/cpp/src/Ice/DynamicLibrary.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactory.cpp b/cpp/src/Ice/EndpointFactory.cpp
index 1e67a5a051e..1ccd152bac5 100644
--- a/cpp/src/Ice/EndpointFactory.cpp
+++ b/cpp/src/Ice/EndpointFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactory.h b/cpp/src/Ice/EndpointFactory.h
index 07b3fbd32f2..1a206b52d6b 100644
--- a/cpp/src/Ice/EndpointFactory.h
+++ b/cpp/src/Ice/EndpointFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactoryF.h b/cpp/src/Ice/EndpointFactoryF.h
index c0f40bcd3f9..395285633c5 100644
--- a/cpp/src/Ice/EndpointFactoryF.h
+++ b/cpp/src/Ice/EndpointFactoryF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp
index 72fa5002aaa..8fa1e614769 100644
--- a/cpp/src/Ice/EndpointFactoryManager.cpp
+++ b/cpp/src/Ice/EndpointFactoryManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactoryManager.h b/cpp/src/Ice/EndpointFactoryManager.h
index 3369b39cd83..afa99c77232 100644
--- a/cpp/src/Ice/EndpointFactoryManager.h
+++ b/cpp/src/Ice/EndpointFactoryManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointFactoryManagerF.h b/cpp/src/Ice/EndpointFactoryManagerF.h
index 6a04726892e..20ba8f9dfa8 100644
--- a/cpp/src/Ice/EndpointFactoryManagerF.h
+++ b/cpp/src/Ice/EndpointFactoryManagerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp
index 663de016608..c1fa1a620b0 100644
--- a/cpp/src/Ice/EndpointI.cpp
+++ b/cpp/src/Ice/EndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index 3e692be0081..5cb10fc1040 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EndpointIF.h b/cpp/src/Ice/EndpointIF.h
index 55449a594d4..07c8694b6da 100644
--- a/cpp/src/Ice/EndpointIF.h
+++ b/cpp/src/Ice/EndpointIF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EventHandler.cpp b/cpp/src/Ice/EventHandler.cpp
index eb0ee89facc..39dbfaff523 100644
--- a/cpp/src/Ice/EventHandler.cpp
+++ b/cpp/src/Ice/EventHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EventHandler.h b/cpp/src/Ice/EventHandler.h
index 21baae05edb..2effea16f6c 100644
--- a/cpp/src/Ice/EventHandler.h
+++ b/cpp/src/Ice/EventHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EventHandlerF.h b/cpp/src/Ice/EventHandlerF.h
index 750efeec97a..5ebe36eaaea 100644
--- a/cpp/src/Ice/EventHandlerF.h
+++ b/cpp/src/Ice/EventHandlerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/EventLoggerMsg.mc b/cpp/src/Ice/EventLoggerMsg.mc
index 5baf9fb9e3e..b03b2aaa39e 100755
--- a/cpp/src/Ice/EventLoggerMsg.mc
+++ b/cpp/src/Ice/EventLoggerMsg.mc
@@ -1,6 +1,6 @@
; // **********************************************************************
; //
-; // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+; // Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp
index a20c564101e..9533739fdde 100644
--- a/cpp/src/Ice/Exception.cpp
+++ b/cpp/src/Ice/Exception.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/FactoryTable.cpp b/cpp/src/Ice/FactoryTable.cpp
index 27d6a8a5d8e..36951aa0cc6 100644
--- a/cpp/src/Ice/FactoryTable.cpp
+++ b/cpp/src/Ice/FactoryTable.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/FactoryTableInit.cpp b/cpp/src/Ice/FactoryTableInit.cpp
index 9bc14725634..65f2c876afa 100644
--- a/cpp/src/Ice/FactoryTableInit.cpp
+++ b/cpp/src/Ice/FactoryTableInit.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/GCObject.cpp b/cpp/src/Ice/GCObject.cpp
index 6dfcdc76bdd..b5092f1552a 100644
--- a/cpp/src/Ice/GCObject.cpp
+++ b/cpp/src/Ice/GCObject.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/HashUtil.h b/cpp/src/Ice/HashUtil.h
index b25ca1344bc..74794141f12 100644
--- a/cpp/src/Ice/HashUtil.h
+++ b/cpp/src/Ice/HashUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/HttpParser.cpp b/cpp/src/Ice/HttpParser.cpp
index bda8c9b1211..5eb2e51f729 100644
--- a/cpp/src/Ice/HttpParser.cpp
+++ b/cpp/src/Ice/HttpParser.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/HttpParser.h b/cpp/src/Ice/HttpParser.h
index 2334c793702..d82f2c73b82 100644
--- a/cpp/src/Ice/HttpParser.h
+++ b/cpp/src/Ice/HttpParser.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/IPEndpointI.cpp b/cpp/src/Ice/IPEndpointI.cpp
index 846e5151f49..86ffd787ec2 100644
--- a/cpp/src/Ice/IPEndpointI.cpp
+++ b/cpp/src/Ice/IPEndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/IPEndpointI.h b/cpp/src/Ice/IPEndpointI.h
index dc89fa257b4..4f51e5a9ff7 100644
--- a/cpp/src/Ice/IPEndpointI.h
+++ b/cpp/src/Ice/IPEndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/IPEndpointIF.h b/cpp/src/Ice/IPEndpointIF.h
index 4a346f5b545..8969f96ebe8 100644
--- a/cpp/src/Ice/IPEndpointIF.h
+++ b/cpp/src/Ice/IPEndpointIF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp
index a39d2a4c04a..cc9d9c59b34 100644
--- a/cpp/src/Ice/ImplicitContextI.cpp
+++ b/cpp/src/Ice/ImplicitContextI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ImplicitContextI.h b/cpp/src/Ice/ImplicitContextI.h
index 41a0f8341b1..abdb14a8a77 100644
--- a/cpp/src/Ice/ImplicitContextI.h
+++ b/cpp/src/Ice/ImplicitContextI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index b60e9135ce0..8a9416751f5 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp
index c1754c582ea..ab359f513d4 100644
--- a/cpp/src/Ice/IncomingAsync.cpp
+++ b/cpp/src/Ice/IncomingAsync.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/IncomingRequest.h b/cpp/src/Ice/IncomingRequest.h
index b9e28d1df1c..86d55b01429 100644
--- a/cpp/src/Ice/IncomingRequest.h
+++ b/cpp/src/Ice/IncomingRequest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp
index 584ba957837..c09e34033d0 100644
--- a/cpp/src/Ice/Initialize.cpp
+++ b/cpp/src/Ice/Initialize.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index af602c387e2..c49e386d2e9 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index c0d679085e3..ba1d367b84f 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/InstrumentationI.cpp b/cpp/src/Ice/InstrumentationI.cpp
index 4ee747d1296..27fe4c71b5f 100644
--- a/cpp/src/Ice/InstrumentationI.cpp
+++ b/cpp/src/Ice/InstrumentationI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/InstrumentationI.h b/cpp/src/Ice/InstrumentationI.h
index 2e6938235b9..23b2ddbccee 100644
--- a/cpp/src/Ice/InstrumentationI.h
+++ b/cpp/src/Ice/InstrumentationI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LocalObject.cpp b/cpp/src/Ice/LocalObject.cpp
index 0be99d7b99e..1098a594ae6 100644
--- a/cpp/src/Ice/LocalObject.cpp
+++ b/cpp/src/Ice/LocalObject.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index d6b9e2c29c7..9c95d223bf0 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h
index 8bd1716790f..1f66426621b 100644
--- a/cpp/src/Ice/LocatorInfo.h
+++ b/cpp/src/Ice/LocatorInfo.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LocatorInfoF.h b/cpp/src/Ice/LocatorInfoF.h
index b3d13c1522f..7317d6f11ec 100644
--- a/cpp/src/Ice/LocatorInfoF.h
+++ b/cpp/src/Ice/LocatorInfoF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LoggerAdminI.cpp b/cpp/src/Ice/LoggerAdminI.cpp
index 2b363572e8c..99a8bae1425 100644
--- a/cpp/src/Ice/LoggerAdminI.cpp
+++ b/cpp/src/Ice/LoggerAdminI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LoggerAdminI.h b/cpp/src/Ice/LoggerAdminI.h
index eabc35b0473..a0162398ce1 100644
--- a/cpp/src/Ice/LoggerAdminI.h
+++ b/cpp/src/Ice/LoggerAdminI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LoggerI.cpp b/cpp/src/Ice/LoggerI.cpp
index a03c911471f..fac00579015 100644
--- a/cpp/src/Ice/LoggerI.cpp
+++ b/cpp/src/Ice/LoggerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LoggerI.h b/cpp/src/Ice/LoggerI.h
index 70a3897a86a..80ba88ac4f2 100644
--- a/cpp/src/Ice/LoggerI.h
+++ b/cpp/src/Ice/LoggerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/LoggerUtil.cpp b/cpp/src/Ice/LoggerUtil.cpp
index b26bf629837..67ff1d3239a 100644
--- a/cpp/src/Ice/LoggerUtil.cpp
+++ b/cpp/src/Ice/LoggerUtil.cpp
@@ -1,7 +1,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/MetricsAdminI.cpp b/cpp/src/Ice/MetricsAdminI.cpp
index cf76bac59cb..dfb6b513858 100644
--- a/cpp/src/Ice/MetricsAdminI.cpp
+++ b/cpp/src/Ice/MetricsAdminI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/MetricsObserverI.cpp b/cpp/src/Ice/MetricsObserverI.cpp
index f148bc5d46e..fa4df95e083 100644
--- a/cpp/src/Ice/MetricsObserverI.cpp
+++ b/cpp/src/Ice/MetricsObserverI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index f00d2e48f1e..c64d9fa7cb2 100755
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h
index ccf05b74663..9a5099a9eb3 100755
--- a/cpp/src/Ice/Network.h
+++ b/cpp/src/Ice/Network.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/NetworkF.h b/cpp/src/Ice/NetworkF.h
index 9c7fc7f1cc6..0cbe4f9bcdf 100644
--- a/cpp/src/Ice/NetworkF.h
+++ b/cpp/src/Ice/NetworkF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/NetworkProxy.cpp b/cpp/src/Ice/NetworkProxy.cpp
index 6e70012e15f..ee90a907e59 100644
--- a/cpp/src/Ice/NetworkProxy.cpp
+++ b/cpp/src/Ice/NetworkProxy.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/NetworkProxy.h b/cpp/src/Ice/NetworkProxy.h
index 6e1d7f483ef..12f358dac13 100644
--- a/cpp/src/Ice/NetworkProxy.h
+++ b/cpp/src/Ice/NetworkProxy.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/NetworkProxyF.h b/cpp/src/Ice/NetworkProxyF.h
index 62b78ba66e1..f850889e664 100644
--- a/cpp/src/Ice/NetworkProxyF.h
+++ b/cpp/src/Ice/NetworkProxyF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp
index 0ff14084d0d..db4b01cf72e 100644
--- a/cpp/src/Ice/Object.cpp
+++ b/cpp/src/Ice/Object.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ObjectAdapterFactory.cpp b/cpp/src/Ice/ObjectAdapterFactory.cpp
index 2e9dd66ff0c..c40ef7f40d5 100644
--- a/cpp/src/Ice/ObjectAdapterFactory.cpp
+++ b/cpp/src/Ice/ObjectAdapterFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ObjectAdapterFactory.h b/cpp/src/Ice/ObjectAdapterFactory.h
index 523ec46b304..011e8fe6aee 100644
--- a/cpp/src/Ice/ObjectAdapterFactory.h
+++ b/cpp/src/Ice/ObjectAdapterFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index d7998cf49a1..5de6bf0acaa 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ObjectAdapterI.h b/cpp/src/Ice/ObjectAdapterI.h
index c1a731946f0..bad7a896c87 100644
--- a/cpp/src/Ice/ObjectAdapterI.h
+++ b/cpp/src/Ice/ObjectAdapterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ObserverHelper.cpp b/cpp/src/Ice/ObserverHelper.cpp
index 262b5446efc..e0c853868b7 100644
--- a/cpp/src/Ice/ObserverHelper.cpp
+++ b/cpp/src/Ice/ObserverHelper.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/OpaqueEndpointI.cpp b/cpp/src/Ice/OpaqueEndpointI.cpp
index 54aca2386f7..77da8121e7f 100644
--- a/cpp/src/Ice/OpaqueEndpointI.cpp
+++ b/cpp/src/Ice/OpaqueEndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/OpaqueEndpointI.h b/cpp/src/Ice/OpaqueEndpointI.h
index d1eaffa6f1f..582764bfd30 100644
--- a/cpp/src/Ice/OpaqueEndpointI.h
+++ b/cpp/src/Ice/OpaqueEndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index 15a2d819260..c3b5704eb25 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PluginManagerI.cpp b/cpp/src/Ice/PluginManagerI.cpp
index 090bbd593cc..f2e3095e170 100644
--- a/cpp/src/Ice/PluginManagerI.cpp
+++ b/cpp/src/Ice/PluginManagerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PluginManagerI.h b/cpp/src/Ice/PluginManagerI.h
index b803c4312ee..e51de65da73 100644
--- a/cpp/src/Ice/PluginManagerI.h
+++ b/cpp/src/Ice/PluginManagerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertiesAdminI.cpp b/cpp/src/Ice/PropertiesAdminI.cpp
index f5bf9b3a08e..e0e98c018d5 100644
--- a/cpp/src/Ice/PropertiesAdminI.cpp
+++ b/cpp/src/Ice/PropertiesAdminI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertiesAdminI.h b/cpp/src/Ice/PropertiesAdminI.h
index 30b339fbb0d..4cc60dc30c1 100644
--- a/cpp/src/Ice/PropertiesAdminI.h
+++ b/cpp/src/Ice/PropertiesAdminI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp
index 8c77d470e8a..39445713307 100644
--- a/cpp/src/Ice/PropertiesI.cpp
+++ b/cpp/src/Ice/PropertiesI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertiesI.h b/cpp/src/Ice/PropertiesI.h
index 9b738c7927c..2a2a04dc34b 100644
--- a/cpp/src/Ice/PropertiesI.h
+++ b/cpp/src/Ice/PropertiesI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index 6c28af3e195..b8f900a1aa0 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index 93c78f9a123..5e84efb7f17 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Protocol.cpp b/cpp/src/Ice/Protocol.cpp
index dd7e737fc91..808a7988158 100644
--- a/cpp/src/Ice/Protocol.cpp
+++ b/cpp/src/Ice/Protocol.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolInstance.cpp b/cpp/src/Ice/ProtocolInstance.cpp
index ff34eb018ad..c9950f65a64 100644
--- a/cpp/src/Ice/ProtocolInstance.cpp
+++ b/cpp/src/Ice/ProtocolInstance.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolInstance.h b/cpp/src/Ice/ProtocolInstance.h
index 0fce9e8b121..3f3805eb917 100644
--- a/cpp/src/Ice/ProtocolInstance.h
+++ b/cpp/src/Ice/ProtocolInstance.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolInstanceF.h b/cpp/src/Ice/ProtocolInstanceF.h
index 79af0c503e1..76498ae024f 100644
--- a/cpp/src/Ice/ProtocolInstanceF.h
+++ b/cpp/src/Ice/ProtocolInstanceF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolPluginFacade.cpp b/cpp/src/Ice/ProtocolPluginFacade.cpp
index 657764923aa..d535409a617 100644
--- a/cpp/src/Ice/ProtocolPluginFacade.cpp
+++ b/cpp/src/Ice/ProtocolPluginFacade.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolPluginFacade.h b/cpp/src/Ice/ProtocolPluginFacade.h
index d8f7ac2965f..1c2382e1545 100644
--- a/cpp/src/Ice/ProtocolPluginFacade.h
+++ b/cpp/src/Ice/ProtocolPluginFacade.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProtocolPluginFacadeF.h b/cpp/src/Ice/ProtocolPluginFacadeF.h
index 954fc2191e1..91f23b1aa76 100644
--- a/cpp/src/Ice/ProtocolPluginFacadeF.h
+++ b/cpp/src/Ice/ProtocolPluginFacadeF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index ab75dced077..5c56f4d8d0d 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp
index c3b169f6ce0..0f5853dc88e 100644
--- a/cpp/src/Ice/ProxyFactory.cpp
+++ b/cpp/src/Ice/ProxyFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ProxyFactory.h b/cpp/src/Ice/ProxyFactory.h
index 1aa11d39f9e..b356961f045 100644
--- a/cpp/src/Ice/ProxyFactory.h
+++ b/cpp/src/Ice/ProxyFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index 99bcdcdf030..a14df7e35cc 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h
index 7a19ab3525f..4ed7f13837f 100644
--- a/cpp/src/Ice/Reference.h
+++ b/cpp/src/Ice/Reference.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp
index a73f3e52b33..46a98263f62 100644
--- a/cpp/src/Ice/ReferenceFactory.cpp
+++ b/cpp/src/Ice/ReferenceFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h
index 043126b32f2..93edc75b61b 100644
--- a/cpp/src/Ice/ReferenceFactory.h
+++ b/cpp/src/Ice/ReferenceFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ReferenceFactoryF.h b/cpp/src/Ice/ReferenceFactoryF.h
index a6d5723a8a9..537c783cbd7 100644
--- a/cpp/src/Ice/ReferenceFactoryF.h
+++ b/cpp/src/Ice/ReferenceFactoryF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RegisterPluginsInit.cpp b/cpp/src/Ice/RegisterPluginsInit.cpp
index 181b31c5c0d..f0fac12f972 100644
--- a/cpp/src/Ice/RegisterPluginsInit.cpp
+++ b/cpp/src/Ice/RegisterPluginsInit.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RegisterPluginsInit.h b/cpp/src/Ice/RegisterPluginsInit.h
index cdd6a6b8e3e..959927edc20 100644
--- a/cpp/src/Ice/RegisterPluginsInit.h
+++ b/cpp/src/Ice/RegisterPluginsInit.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ReplyStatus.h b/cpp/src/Ice/ReplyStatus.h
index 1ee4515b90a..04b9fc3263b 100644
--- a/cpp/src/Ice/ReplyStatus.h
+++ b/cpp/src/Ice/ReplyStatus.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RequestHandler.cpp b/cpp/src/Ice/RequestHandler.cpp
index 52d391c837d..0994a63b2e3 100644
--- a/cpp/src/Ice/RequestHandler.cpp
+++ b/cpp/src/Ice/RequestHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RequestHandler.h b/cpp/src/Ice/RequestHandler.h
index 5921ae52c01..32626447a31 100644
--- a/cpp/src/Ice/RequestHandler.h
+++ b/cpp/src/Ice/RequestHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RequestHandlerFactory.cpp b/cpp/src/Ice/RequestHandlerFactory.cpp
index ff8e0413a90..e143c084c31 100644
--- a/cpp/src/Ice/RequestHandlerFactory.cpp
+++ b/cpp/src/Ice/RequestHandlerFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RequestHandlerFactory.h b/cpp/src/Ice/RequestHandlerFactory.h
index 0e37ff45f40..312facb1c0f 100644
--- a/cpp/src/Ice/RequestHandlerFactory.h
+++ b/cpp/src/Ice/RequestHandlerFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ResponseHandler.cpp b/cpp/src/Ice/ResponseHandler.cpp
index b43c1ad5697..af63f286f87 100644
--- a/cpp/src/Ice/ResponseHandler.cpp
+++ b/cpp/src/Ice/ResponseHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ResponseHandler.h b/cpp/src/Ice/ResponseHandler.h
index 9a1cbbaeb71..142dd295b60 100644
--- a/cpp/src/Ice/ResponseHandler.h
+++ b/cpp/src/Ice/ResponseHandler.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RetryQueue.cpp b/cpp/src/Ice/RetryQueue.cpp
index 87389bd1f6e..bbcba886133 100644
--- a/cpp/src/Ice/RetryQueue.cpp
+++ b/cpp/src/Ice/RetryQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RetryQueue.h b/cpp/src/Ice/RetryQueue.h
index e97e158af5b..86e1511318a 100644
--- a/cpp/src/Ice/RetryQueue.h
+++ b/cpp/src/Ice/RetryQueue.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RetryQueueF.h b/cpp/src/Ice/RetryQueueF.h
index 0183e5aff24..54e2987ea9a 100644
--- a/cpp/src/Ice/RetryQueueF.h
+++ b/cpp/src/Ice/RetryQueueF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RouterInfo.cpp b/cpp/src/Ice/RouterInfo.cpp
index a4723f59217..2ddf981dfec 100644
--- a/cpp/src/Ice/RouterInfo.cpp
+++ b/cpp/src/Ice/RouterInfo.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RouterInfo.h b/cpp/src/Ice/RouterInfo.h
index f307bee2044..40aa73c5175 100644
--- a/cpp/src/Ice/RouterInfo.h
+++ b/cpp/src/Ice/RouterInfo.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/RouterInfoF.h b/cpp/src/Ice/RouterInfoF.h
index 4903d1fe03b..c0f7bf7afb4 100644
--- a/cpp/src/Ice/RouterInfoF.h
+++ b/cpp/src/Ice/RouterInfoF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp
index d87e198c0e1..d4bb49af4c4 100644
--- a/cpp/src/Ice/Selector.cpp
+++ b/cpp/src/Ice/Selector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Selector.h b/cpp/src/Ice/Selector.h
index 95f8ed432de..05ff0574e35 100644
--- a/cpp/src/Ice/Selector.h
+++ b/cpp/src/Ice/Selector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp
index 16c5da45d1f..ba32e2c9fba 100644
--- a/cpp/src/Ice/ServantManager.cpp
+++ b/cpp/src/Ice/ServantManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ServantManager.h b/cpp/src/Ice/ServantManager.h
index 9c5e406176c..e79cf8bce68 100644
--- a/cpp/src/Ice/ServantManager.h
+++ b/cpp/src/Ice/ServantManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp
index 58cb55a2d2f..a92b2afed95 100644
--- a/cpp/src/Ice/Service.cpp
+++ b/cpp/src/Ice/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/SharedContext.h b/cpp/src/Ice/SharedContext.h
index fcb298c9b65..d64c7c900d8 100644
--- a/cpp/src/Ice/SharedContext.h
+++ b/cpp/src/Ice/SharedContext.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/SliceChecksums.cpp b/cpp/src/Ice/SliceChecksums.cpp
index c184b68bee8..3bc4e461f3e 100644
--- a/cpp/src/Ice/SliceChecksums.cpp
+++ b/cpp/src/Ice/SliceChecksums.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/SlicedData.cpp b/cpp/src/Ice/SlicedData.cpp
index 551c18cfdef..e85c3f35492 100644
--- a/cpp/src/Ice/SlicedData.cpp
+++ b/cpp/src/Ice/SlicedData.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/StreamSocket.cpp b/cpp/src/Ice/StreamSocket.cpp
index 26562b09f3e..912916e5ed3 100755
--- a/cpp/src/Ice/StreamSocket.cpp
+++ b/cpp/src/Ice/StreamSocket.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/StreamSocket.h b/cpp/src/Ice/StreamSocket.h
index b38c8f2ad88..4a59f5ce208 100644
--- a/cpp/src/Ice/StreamSocket.h
+++ b/cpp/src/Ice/StreamSocket.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/StringConverterPlugin.cpp b/cpp/src/Ice/StringConverterPlugin.cpp
index f985fab0c3c..16125c7bda6 100644
--- a/cpp/src/Ice/StringConverterPlugin.cpp
+++ b/cpp/src/Ice/StringConverterPlugin.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/SysLoggerI.cpp b/cpp/src/Ice/SysLoggerI.cpp
index 663ee64b7e9..de899270be4 100644
--- a/cpp/src/Ice/SysLoggerI.cpp
+++ b/cpp/src/Ice/SysLoggerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/SysLoggerI.h b/cpp/src/Ice/SysLoggerI.h
index 8e4d4c0f48d..6a4c8ca035e 100644
--- a/cpp/src/Ice/SysLoggerI.h
+++ b/cpp/src/Ice/SysLoggerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpAcceptor.cpp b/cpp/src/Ice/TcpAcceptor.cpp
index 769b9cbbb2c..2d48b27e571 100755
--- a/cpp/src/Ice/TcpAcceptor.cpp
+++ b/cpp/src/Ice/TcpAcceptor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h
index bb4b17ceb6f..ee92512030a 100644
--- a/cpp/src/Ice/TcpAcceptor.h
+++ b/cpp/src/Ice/TcpAcceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpConnector.cpp b/cpp/src/Ice/TcpConnector.cpp
index 44d55e795fa..ea8cab19763 100644
--- a/cpp/src/Ice/TcpConnector.cpp
+++ b/cpp/src/Ice/TcpConnector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpConnector.h b/cpp/src/Ice/TcpConnector.h
index 07f1bac84b0..8e6b2e46c60 100644
--- a/cpp/src/Ice/TcpConnector.h
+++ b/cpp/src/Ice/TcpConnector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index 9be649213fd..17320c1d537 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h
index d85e8f01996..6c027e27392 100644
--- a/cpp/src/Ice/TcpEndpointI.h
+++ b/cpp/src/Ice/TcpEndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp
index 759d6e08baa..9d7c47d7fda 100644
--- a/cpp/src/Ice/TcpTransceiver.cpp
+++ b/cpp/src/Ice/TcpTransceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TcpTransceiver.h b/cpp/src/Ice/TcpTransceiver.h
index c892d683e79..50415c20a8e 100644
--- a/cpp/src/Ice/TcpTransceiver.h
+++ b/cpp/src/Ice/TcpTransceiver.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index d79a0900293..946a05e2b08 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h
index fbca641eb68..d1d6ba8e82c 100644
--- a/cpp/src/Ice/ThreadPool.h
+++ b/cpp/src/Ice/ThreadPool.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TraceLevels.cpp b/cpp/src/Ice/TraceLevels.cpp
index dcdc5f7afb3..76f64f8bbc9 100644
--- a/cpp/src/Ice/TraceLevels.cpp
+++ b/cpp/src/Ice/TraceLevels.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TraceLevels.h b/cpp/src/Ice/TraceLevels.h
index ccec45f2b27..43687da5da5 100644
--- a/cpp/src/Ice/TraceLevels.h
+++ b/cpp/src/Ice/TraceLevels.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TraceLevelsF.h b/cpp/src/Ice/TraceLevelsF.h
index a2012c702ba..61ecbfe9338 100644
--- a/cpp/src/Ice/TraceLevelsF.h
+++ b/cpp/src/Ice/TraceLevelsF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TraceUtil.cpp b/cpp/src/Ice/TraceUtil.cpp
index db7c0041b45..5c690803fd8 100644
--- a/cpp/src/Ice/TraceUtil.cpp
+++ b/cpp/src/Ice/TraceUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TraceUtil.h b/cpp/src/Ice/TraceUtil.h
index f271e043081..91b75a02adf 100644
--- a/cpp/src/Ice/TraceUtil.h
+++ b/cpp/src/Ice/TraceUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Transceiver.cpp b/cpp/src/Ice/Transceiver.cpp
index 9d3b30ce008..7ce64323ab6 100644
--- a/cpp/src/Ice/Transceiver.cpp
+++ b/cpp/src/Ice/Transceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/Transceiver.h b/cpp/src/Ice/Transceiver.h
index 4c5a02ba12a..ad02731df23 100644
--- a/cpp/src/Ice/Transceiver.h
+++ b/cpp/src/Ice/Transceiver.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/TransceiverF.h b/cpp/src/Ice/TransceiverF.h
index 60394d4fae2..4c6d5940003 100644
--- a/cpp/src/Ice/TransceiverF.h
+++ b/cpp/src/Ice/TransceiverF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpConnector.cpp b/cpp/src/Ice/UdpConnector.cpp
index ccf85403c35..9b2e0f96acf 100644
--- a/cpp/src/Ice/UdpConnector.cpp
+++ b/cpp/src/Ice/UdpConnector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpConnector.h b/cpp/src/Ice/UdpConnector.h
index 077d6cf934e..2df2bbe7bb5 100644
--- a/cpp/src/Ice/UdpConnector.h
+++ b/cpp/src/Ice/UdpConnector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index a631b4ae16d..5e65c71855c 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h
index 6cb0c412e36..19400fb031a 100644
--- a/cpp/src/Ice/UdpEndpointI.h
+++ b/cpp/src/Ice/UdpEndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp
index 9d32c38938e..0eeba8690e2 100755
--- a/cpp/src/Ice/UdpTransceiver.cpp
+++ b/cpp/src/Ice/UdpTransceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/UdpTransceiver.h b/cpp/src/Ice/UdpTransceiver.h
index c2c1ff0edc5..84a8d1c49a5 100644
--- a/cpp/src/Ice/UdpTransceiver.h
+++ b/cpp/src/Ice/UdpTransceiver.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSAcceptor.cpp b/cpp/src/Ice/WSAcceptor.cpp
index 52a786674c0..516dfad4e18 100644
--- a/cpp/src/Ice/WSAcceptor.cpp
+++ b/cpp/src/Ice/WSAcceptor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSAcceptor.h b/cpp/src/Ice/WSAcceptor.h
index 251d0a8e528..b71509b0c1c 100644
--- a/cpp/src/Ice/WSAcceptor.h
+++ b/cpp/src/Ice/WSAcceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSConnector.cpp b/cpp/src/Ice/WSConnector.cpp
index 4d856e974fa..c87cae8fb27 100644
--- a/cpp/src/Ice/WSConnector.cpp
+++ b/cpp/src/Ice/WSConnector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSConnector.h b/cpp/src/Ice/WSConnector.h
index 9c13d0b9012..49552be1c34 100644
--- a/cpp/src/Ice/WSConnector.h
+++ b/cpp/src/Ice/WSConnector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSEndpoint.cpp b/cpp/src/Ice/WSEndpoint.cpp
index 0c41ac4a310..974f998412a 100644
--- a/cpp/src/Ice/WSEndpoint.cpp
+++ b/cpp/src/Ice/WSEndpoint.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSEndpoint.h b/cpp/src/Ice/WSEndpoint.h
index 5b0a3fa3aa4..23ffe0ddb1e 100644
--- a/cpp/src/Ice/WSEndpoint.h
+++ b/cpp/src/Ice/WSEndpoint.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSTransceiver.cpp b/cpp/src/Ice/WSTransceiver.cpp
index 413b88ed630..f8254a2e606 100644
--- a/cpp/src/Ice/WSTransceiver.cpp
+++ b/cpp/src/Ice/WSTransceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Ice/WSTransceiver.h b/cpp/src/Ice/WSTransceiver.h
index 25cf1067163..70d86db259a 100644
--- a/cpp/src/Ice/WSTransceiver.h
+++ b/cpp/src/Ice/WSTransceiver.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceBox/Admin.cpp b/cpp/src/IceBox/Admin.cpp
index a7fa43141ce..8767b14d378 100644
--- a/cpp/src/IceBox/Admin.cpp
+++ b/cpp/src/IceBox/Admin.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceBox/Exception.cpp b/cpp/src/IceBox/Exception.cpp
index 757749f36bf..dd75f530200 100644
--- a/cpp/src/IceBox/Exception.cpp
+++ b/cpp/src/IceBox/Exception.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceBox/Service.cpp b/cpp/src/IceBox/Service.cpp
index bbfb78c86c7..f1989701db5 100644
--- a/cpp/src/IceBox/Service.cpp
+++ b/cpp/src/IceBox/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceBox/ServiceManagerI.cpp b/cpp/src/IceBox/ServiceManagerI.cpp
index 6226b7c0a4d..77f88ff2cd7 100644
--- a/cpp/src/IceBox/ServiceManagerI.cpp
+++ b/cpp/src/IceBox/ServiceManagerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceBox/ServiceManagerI.h b/cpp/src/IceBox/ServiceManagerI.h
index 85a115d7b5f..dd56621ac3f 100644
--- a/cpp/src/IceBox/ServiceManagerI.h
+++ b/cpp/src/IceBox/ServiceManagerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/LocatorI.cpp b/cpp/src/IceDiscovery/LocatorI.cpp
index 2a071b08c91..6998007fa14 100644
--- a/cpp/src/IceDiscovery/LocatorI.cpp
+++ b/cpp/src/IceDiscovery/LocatorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/LocatorI.h b/cpp/src/IceDiscovery/LocatorI.h
index 0c71f2ef9fa..2d2e833b4a1 100644
--- a/cpp/src/IceDiscovery/LocatorI.h
+++ b/cpp/src/IceDiscovery/LocatorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/LookupI.cpp b/cpp/src/IceDiscovery/LookupI.cpp
index dace9a6fc12..0f554e397d8 100644
--- a/cpp/src/IceDiscovery/LookupI.cpp
+++ b/cpp/src/IceDiscovery/LookupI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/LookupI.h b/cpp/src/IceDiscovery/LookupI.h
index 7da188ebfad..fed98927913 100644
--- a/cpp/src/IceDiscovery/LookupI.h
+++ b/cpp/src/IceDiscovery/LookupI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/PluginI.cpp b/cpp/src/IceDiscovery/PluginI.cpp
index 6bbad49af4c..2275459c04f 100644
--- a/cpp/src/IceDiscovery/PluginI.cpp
+++ b/cpp/src/IceDiscovery/PluginI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceDiscovery/PluginI.h b/cpp/src/IceDiscovery/PluginI.h
index e5116b20bf9..aa89e53915c 100644
--- a/cpp/src/IceDiscovery/PluginI.h
+++ b/cpp/src/IceDiscovery/PluginI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp
index adc9dce5070..6dea80ccc53 100644
--- a/cpp/src/IceGrid/Activator.cpp
+++ b/cpp/src/IceGrid/Activator.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Activator.h b/cpp/src/IceGrid/Activator.h
index bf5a683490e..018eb44d794 100644
--- a/cpp/src/IceGrid/Activator.h
+++ b/cpp/src/IceGrid/Activator.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdapterCache.cpp b/cpp/src/IceGrid/AdapterCache.cpp
index e9fd5d85e2b..e543c59e3e5 100644
--- a/cpp/src/IceGrid/AdapterCache.cpp
+++ b/cpp/src/IceGrid/AdapterCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdapterCache.h b/cpp/src/IceGrid/AdapterCache.h
index d83c18acd83..b81ed473d0c 100644
--- a/cpp/src/IceGrid/AdapterCache.h
+++ b/cpp/src/IceGrid/AdapterCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminCallbackRouter.cpp b/cpp/src/IceGrid/AdminCallbackRouter.cpp
index 821658ed07f..33e5bae02e8 100644
--- a/cpp/src/IceGrid/AdminCallbackRouter.cpp
+++ b/cpp/src/IceGrid/AdminCallbackRouter.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminCallbackRouter.h b/cpp/src/IceGrid/AdminCallbackRouter.h
index aa91e988baa..c8619352974 100644
--- a/cpp/src/IceGrid/AdminCallbackRouter.h
+++ b/cpp/src/IceGrid/AdminCallbackRouter.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp
index 21e190250e5..228f238efee 100644
--- a/cpp/src/IceGrid/AdminI.cpp
+++ b/cpp/src/IceGrid/AdminI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminI.h b/cpp/src/IceGrid/AdminI.h
index c644edb7e5b..45fe6cf6d17 100644
--- a/cpp/src/IceGrid/AdminI.h
+++ b/cpp/src/IceGrid/AdminI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminRouter.cpp b/cpp/src/IceGrid/AdminRouter.cpp
index 3808a4545e8..0af1609cfcd 100644
--- a/cpp/src/IceGrid/AdminRouter.cpp
+++ b/cpp/src/IceGrid/AdminRouter.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminRouter.h b/cpp/src/IceGrid/AdminRouter.h
index d2b21cc2fdb..b6fb4ac2c35 100644
--- a/cpp/src/IceGrid/AdminRouter.h
+++ b/cpp/src/IceGrid/AdminRouter.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminSessionI.cpp b/cpp/src/IceGrid/AdminSessionI.cpp
index 7cc46f74757..cba61e004ef 100644
--- a/cpp/src/IceGrid/AdminSessionI.cpp
+++ b/cpp/src/IceGrid/AdminSessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AdminSessionI.h b/cpp/src/IceGrid/AdminSessionI.h
index 5669503e148..b1928218aea 100644
--- a/cpp/src/IceGrid/AdminSessionI.h
+++ b/cpp/src/IceGrid/AdminSessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Allocatable.cpp b/cpp/src/IceGrid/Allocatable.cpp
index 7ec293fc51a..a2979e1a883 100644
--- a/cpp/src/IceGrid/Allocatable.cpp
+++ b/cpp/src/IceGrid/Allocatable.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Allocatable.h b/cpp/src/IceGrid/Allocatable.h
index 2bf31a4447c..ae294ec7ade 100644
--- a/cpp/src/IceGrid/Allocatable.h
+++ b/cpp/src/IceGrid/Allocatable.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AllocatableObjectCache.cpp b/cpp/src/IceGrid/AllocatableObjectCache.cpp
index 438add8b263..2a6e719b88b 100644
--- a/cpp/src/IceGrid/AllocatableObjectCache.cpp
+++ b/cpp/src/IceGrid/AllocatableObjectCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/AllocatableObjectCache.h b/cpp/src/IceGrid/AllocatableObjectCache.h
index 9f2db6f3121..51cd706a1fd 100644
--- a/cpp/src/IceGrid/AllocatableObjectCache.h
+++ b/cpp/src/IceGrid/AllocatableObjectCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Cache.h b/cpp/src/IceGrid/Cache.h
index cf822604c4a..661242c5c54 100644
--- a/cpp/src/IceGrid/Cache.h
+++ b/cpp/src/IceGrid/Cache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Client.cpp b/cpp/src/IceGrid/Client.cpp
index f37bbf30ce5..35721f3cf74 100644
--- a/cpp/src/IceGrid/Client.cpp
+++ b/cpp/src/IceGrid/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index e20d176cbe8..7d6c0da1c2f 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Database.h b/cpp/src/IceGrid/Database.h
index be7a89fae6c..18b3f55f160 100644
--- a/cpp/src/IceGrid/Database.h
+++ b/cpp/src/IceGrid/Database.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp
index 217cba7e7d6..e1d72475394 100644
--- a/cpp/src/IceGrid/DescriptorBuilder.cpp
+++ b/cpp/src/IceGrid/DescriptorBuilder.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorBuilder.h b/cpp/src/IceGrid/DescriptorBuilder.h
index 3f2f427d69b..157eb9bcf72 100644
--- a/cpp/src/IceGrid/DescriptorBuilder.h
+++ b/cpp/src/IceGrid/DescriptorBuilder.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index 3eef14ff351..6dd1ba686fd 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorHelper.h b/cpp/src/IceGrid/DescriptorHelper.h
index f8ff653e667..e39000da109 100644
--- a/cpp/src/IceGrid/DescriptorHelper.h
+++ b/cpp/src/IceGrid/DescriptorHelper.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp
index 8e8d96542d0..41f3de5254e 100644
--- a/cpp/src/IceGrid/DescriptorParser.cpp
+++ b/cpp/src/IceGrid/DescriptorParser.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/DescriptorParser.h b/cpp/src/IceGrid/DescriptorParser.h
index 80b8983fc95..648ec1363b5 100644
--- a/cpp/src/IceGrid/DescriptorParser.h
+++ b/cpp/src/IceGrid/DescriptorParser.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileCache.cpp b/cpp/src/IceGrid/FileCache.cpp
index ca98ef55c0a..1dea55994f1 100644
--- a/cpp/src/IceGrid/FileCache.cpp
+++ b/cpp/src/IceGrid/FileCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileCache.h b/cpp/src/IceGrid/FileCache.h
index 5db5237ab8e..94ed6398827 100644
--- a/cpp/src/IceGrid/FileCache.h
+++ b/cpp/src/IceGrid/FileCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileParserI.cpp b/cpp/src/IceGrid/FileParserI.cpp
index eb57e981441..36e8c40ffe7 100644
--- a/cpp/src/IceGrid/FileParserI.cpp
+++ b/cpp/src/IceGrid/FileParserI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileParserI.h b/cpp/src/IceGrid/FileParserI.h
index 12d2ffe3f16..e7062688518 100644
--- a/cpp/src/IceGrid/FileParserI.h
+++ b/cpp/src/IceGrid/FileParserI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileUserAccountMapperI.cpp b/cpp/src/IceGrid/FileUserAccountMapperI.cpp
index a52037562ba..cbd6b84a10e 100644
--- a/cpp/src/IceGrid/FileUserAccountMapperI.cpp
+++ b/cpp/src/IceGrid/FileUserAccountMapperI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/FileUserAccountMapperI.h b/cpp/src/IceGrid/FileUserAccountMapperI.h
index a81571a2345..a342560c0c1 100644
--- a/cpp/src/IceGrid/FileUserAccountMapperI.h
+++ b/cpp/src/IceGrid/FileUserAccountMapperI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Grammar.cpp b/cpp/src/IceGrid/Grammar.cpp
index a10ceeee3fc..01ea5aca0b2 100644
--- a/cpp/src/IceGrid/Grammar.cpp
+++ b/cpp/src/IceGrid/Grammar.cpp
@@ -159,7 +159,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Grammar.y b/cpp/src/IceGrid/Grammar.y
index 2ff576d9285..84911fe8a3d 100644
--- a/cpp/src/IceGrid/Grammar.y
+++ b/cpp/src/IceGrid/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp
index 789c3857332..ad6e132a260 100644
--- a/cpp/src/IceGrid/IceGridNode.cpp
+++ b/cpp/src/IceGrid/IceGridNode.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/IceGridRegistry.cpp b/cpp/src/IceGrid/IceGridRegistry.cpp
index 8d2a3659bd2..2cd4a8341b2 100644
--- a/cpp/src/IceGrid/IceGridRegistry.cpp
+++ b/cpp/src/IceGrid/IceGridRegistry.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Internal.ice b/cpp/src/IceGrid/Internal.ice
index 21282309477..5b17a72317f 100644
--- a/cpp/src/IceGrid/Internal.ice
+++ b/cpp/src/IceGrid/Internal.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/InternalRegistryI.cpp b/cpp/src/IceGrid/InternalRegistryI.cpp
index c4551dba896..c97ad6ccffe 100644
--- a/cpp/src/IceGrid/InternalRegistryI.cpp
+++ b/cpp/src/IceGrid/InternalRegistryI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/InternalRegistryI.h b/cpp/src/IceGrid/InternalRegistryI.h
index 3e7735c9b0e..139dbb3aba2 100644
--- a/cpp/src/IceGrid/InternalRegistryI.h
+++ b/cpp/src/IceGrid/InternalRegistryI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/LocatorI.cpp b/cpp/src/IceGrid/LocatorI.cpp
index 575ebe71fd4..b680eaebcd7 100644
--- a/cpp/src/IceGrid/LocatorI.cpp
+++ b/cpp/src/IceGrid/LocatorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/LocatorI.h b/cpp/src/IceGrid/LocatorI.h
index ffea80fc37a..16bbead38bc 100644
--- a/cpp/src/IceGrid/LocatorI.h
+++ b/cpp/src/IceGrid/LocatorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/LocatorRegistryI.cpp b/cpp/src/IceGrid/LocatorRegistryI.cpp
index 7e5dd15eab7..11f4d077d6d 100644
--- a/cpp/src/IceGrid/LocatorRegistryI.cpp
+++ b/cpp/src/IceGrid/LocatorRegistryI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/LocatorRegistryI.h b/cpp/src/IceGrid/LocatorRegistryI.h
index c6c4d87955a..f4f12f9d72d 100644
--- a/cpp/src/IceGrid/LocatorRegistryI.h
+++ b/cpp/src/IceGrid/LocatorRegistryI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeAdminRouter.cpp b/cpp/src/IceGrid/NodeAdminRouter.cpp
index 4d9ca4eebe2..5100c8c9880 100644
--- a/cpp/src/IceGrid/NodeAdminRouter.cpp
+++ b/cpp/src/IceGrid/NodeAdminRouter.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeAdminRouter.h b/cpp/src/IceGrid/NodeAdminRouter.h
index 593b497a607..99059f2f530 100644
--- a/cpp/src/IceGrid/NodeAdminRouter.h
+++ b/cpp/src/IceGrid/NodeAdminRouter.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index 8757dc0fe2b..ce57c685ce5 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeCache.h b/cpp/src/IceGrid/NodeCache.h
index 1346cdb3ee2..6e1c675cc77 100644
--- a/cpp/src/IceGrid/NodeCache.h
+++ b/cpp/src/IceGrid/NodeCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp
index 294e20f393d..661c4f38993 100644
--- a/cpp/src/IceGrid/NodeI.cpp
+++ b/cpp/src/IceGrid/NodeI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeI.h b/cpp/src/IceGrid/NodeI.h
index 829a8444c07..6e8706f8f7f 100644
--- a/cpp/src/IceGrid/NodeI.h
+++ b/cpp/src/IceGrid/NodeI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp
index 01bbb7679c0..b23cffb4aac 100644
--- a/cpp/src/IceGrid/NodeSessionI.cpp
+++ b/cpp/src/IceGrid/NodeSessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeSessionI.h b/cpp/src/IceGrid/NodeSessionI.h
index 4cce4acac40..a180b09abf1 100644
--- a/cpp/src/IceGrid/NodeSessionI.h
+++ b/cpp/src/IceGrid/NodeSessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeSessionManager.cpp b/cpp/src/IceGrid/NodeSessionManager.cpp
index c29103ac0ce..abdb1ef0807 100644
--- a/cpp/src/IceGrid/NodeSessionManager.cpp
+++ b/cpp/src/IceGrid/NodeSessionManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/NodeSessionManager.h b/cpp/src/IceGrid/NodeSessionManager.h
index 49c000fd874..267f3377645 100644
--- a/cpp/src/IceGrid/NodeSessionManager.h
+++ b/cpp/src/IceGrid/NodeSessionManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ObjectCache.cpp b/cpp/src/IceGrid/ObjectCache.cpp
index 8cd6aaedeb2..180289d28da 100644
--- a/cpp/src/IceGrid/ObjectCache.cpp
+++ b/cpp/src/IceGrid/ObjectCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ObjectCache.h b/cpp/src/IceGrid/ObjectCache.h
index fbeb5aeb9f4..29dfa11c1da 100644
--- a/cpp/src/IceGrid/ObjectCache.h
+++ b/cpp/src/IceGrid/ObjectCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
deleted file mode 100644
index 3c45b2c44d6..00000000000
--- a/cpp/src/IceGrid/Parser.cpp
+++ /dev/null
@@ -1,2964 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2016 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 <IceUtil/DisableWarnings.h>
-#include <IceUtil/IceUtil.h>
-#include <IceUtil/Options.h>
-#include <Ice/Ice.h>
-#include <IceXML/Parser.h>
-#include <IceGrid/Parser.h>
-#include <IceGrid/Util.h>
-#include <IceGrid/DescriptorParser.h>
-#include <IceGrid/DescriptorHelper.h>
-#include <IceBox/IceBox.h>
-
-#ifdef HAVE_READLINE
-# include <readline/readline.h>
-# include <readline/history.h>
-#endif
-
-#include <iterator>
-#include <iomanip>
-
-extern FILE* yyin;
-extern int yydebug;
-
-using namespace std;
-using namespace IceUtil;
-using namespace IceUtilInternal;
-using namespace Ice;
-using namespace IceGrid;
-
-namespace
-{
-
-const char* _commandsHelp[][3] = {
-{ "application", "add",
-"application add [-n | --no-patch] DESC [TARGET ... ] [NAME=VALUE ... ]\n"
-" Add application described in DESC. If specified\n"
-" the optional targets TARGET will be deployed.\n"
-},
-{ "application", "remove",
-"application remove NAME Remove application NAME.\n"
-},
-{ "application", "describe",
-"application describe NAME Describe application NAME.\n"
-},
-{ "application", "diff",
-"application diff [-s | --servers] DESC [TARGET ... ] [NAME=VALUE ... ]\n"
-" Print the differences betwen the application\n"
-" described in DESC and the current deployment.\n"
-" If -s or --servers is specified, print the\n"
-" the list of servers affected by the differences.\n"
-},
-{ "application", "update",
-"application update [-n | --no-restart] DESC [TARGET ... ] [NAME=VALUE ... ]\n"
-" Update the application described in DESC. If -n or\n"
-" --no-restart is specified, the update will fail if\n"
-" it is necessary to stop some servers.\n"
-},
-{ "application", "patch",
-"application patch [-f | --force] NAME\n"
-" Patch the given application data. If -f or --force is\n"
-" specified, the servers depending on the data to patch\n"
-" will be stopped if necessary.\n"
-},
-{ "application", "list",
-"application list List all deployed applications.\n"
-},
-{ "server template", "instantiate",
-"server template instantiate APPLICATION NODE TEMPLATE [NAME=VALUE ...]\n"
-" Instantiate a server template.\n"
-},
-{ "server template", "describe",
-"server template describe APPLICATION TEMPLATE\n"
-" Describe application server template TEMPLATE.\n"
-},
-{ "service template", "describe",
-"service template describe APPLICATION TEMPLATE\n"
-" Describe application service template TEMPLATE.\n"
-},
-{ "node", "list",
-"node list List all registered nodes.\n"
-},
-{ "node", "describe",
-"node describe NAME Show information about node NAME.\n"
-},
-{ "node", "ping",
-"node ping NAME Ping node NAME.\n"
-},
-{ "node", "load",
-"node load NAME Print the load of the node NAME.\n"
-},
-{ "node", "sockets",
-"node sockets [NAME] Print the number of CPU sockets of the\n"
-" node NAME or all the nodes if NAME is omitted.\n"
-},
-{ "node", "show",
-"node show [OPTIONS] NAME [log | stderr | stdout]\n"
-" Show node NAME Ice log, stderr or stdout.\n"
-" Options:\n"
-" -f | --follow: Wait for new data to be available\n"
-" -t N | --tail N: Print the last N log messages or lines\n"
-" -h N | --head N: Print the first N lines (stderr and stdout only)\n"
-},
-{ "node", "shutdown",
-"node shutdown NAME Shutdown node NAME.\n"
-},
-{ "registry", "list",
-"registry list List all registered registries.\n"
-},
-{ "registry", "describe",
-"registry describe NAME Show information about registry NAME.\n"
-},
-{ "registry", "ping",
-"registry ping NAME Ping registry NAME.\n"
-},
-{ "registry", "show",
-"registry show [OPTIONS] NAME [log | stderr | stdout ]\n"
-" Show registry NAME Ice log, stderr or stdout.\n"
-" Options:\n"
-" -f | --follow: Wait for new log or data to be available\n"
-" -t N | --tail N: Print the last N log messages or lines\n"
-" -h N | --head N: Print the first N lines (stderr and stdout only)\n"
-},
-{ "registry", "shutdown",
-"registry shutdown NAME Shutdown registry NAME.\n"
-},
-{ "server", "list",
-"server list List all registered servers.\n"
-},
-{ "server", "remove",
-"server remove ID Remove server ID.\n"
-},
-{ "server", "describe",
-"server describe ID Describe server ID.\n"
-},
-{ "server", "properties",
-"server properties ID Get the run-time properties of server ID.\n"
-},
-{ "server", "property",
-"server property ID NAME Get the run-time property NAME of server ID.\n"
-},
-{ "server", "state",
-"server state ID Get the state of server ID.\n"
-},
-{ "server", "pid",
-"server pid ID Get the process id of server ID.\n"
-},
-{ "server", "start",
-"server start ID Start server ID.\n"
-},
-{ "server", "stop",
-"server stop ID Stop server ID.\n"
-},
-{ "server", "patch",
-"server patch ID Patch server ID.\n"
-},
-{ "server", "signal",
-"server signal ID SIGNAL Send SIGNAL (e.g. SIGTERM or 15) to server ID.\n"
-},
-{ "server", "stdout",
-"server stdout ID MESSAGE Write MESSAGE on server ID's stdout.\n"
-},
-{ "server", "stderr",
-"server stderr ID MESSAGE Write MESSAGE on server ID's stderr.\n"
-},
-{ "server", "show",
-"server show [OPTIONS] ID [log | stderr | stdout | LOGFILE ]\n"
-" Show server ID Ice log, stderr, stdout or log file LOGFILE.\n"
-" Options:\n"
-" -f | --follow: Wait for new data to be available\n"
-" -t N | --tail N: Print the last N log messages or lines\n"
-" -h N | --head N: Print the first N lines (not available for Ice log)\n"
-},
-{ "server", "enable",
-"server enable ID Enable server ID.\n"
-},
-{ "server", "disable",
-"server disable ID Disable server ID (a disabled server can't be\n"
-" started on demand or administratively).\n"
-},
-
-{ "service", "start",
-"service start ID NAME Starts service NAME in IceBox server ID.\n"
-},
-{ "service", "stop",
-"service stop ID NAME Stops service NAME in IceBox server ID.\n"
-},
-{ "service", "describe",
-"service describe ID NAME Describes service NAME in IceBox server ID.\n"
-},
-{ "service", "properties",
-"service properties ID NAME\n"
-" Get the run-time properties of service NAME in\n"
-" IceBox server ID.\n"
-},
-{ "service", "property",
-"service property ID NAME PROPERTY\n"
-" Get the run-time property PROPERTY of service NAME\n"
-" from IceBox server ID.\n"
-},
-{ "service", "list",
-"service list ID List the services in IceBox server ID.\n"
-},
-
-{ "adapter", "list",
-"adapter list List all registered adapters.\n"
-},
-{ "adapter", "endpoints",
-"adapter endpoints ID Show the endpoints of adapter or replica group ID.\n"
-},
-{ "adapter", "remove",
-"adapter remove ID Remove adapter or replica group ID.\n"
-},
-{ "object", "add",
-"object add PROXY [TYPE] Add an object to the object registry,\n"
-" optionally specifying its type.\n"
-},
-{ "object", "remove",
-"object remove IDENTITY Remove an object from the object registry.\n"
-},
-{ "object", "find",
-"object find TYPE Find all objects with the type TYPE.\n"
-},
-{ "object", "describe",
-"object describe EXPR Describe all registered objects whose stringified\n"
-" identities match the expression EXPR. A trailing\n"
-" wildcard is supported in EXPR, for example\n"
-" \"object describe Ice*\".\n"
-},
-{ "object", "list",
-"object list EXPR List all registered objects whose stringified\n"
-" identities match the expression EXPR. A trailing\n"
-" wildcard is supported in EXPR, for example\n"
-" \"object list Ice*\".\n"
-},
-{ 0, 0, 0 }
-};
-
-int loggerCallbackCount = 0;
-
-#ifdef _WIN32
-Ice::StringConverterPtr windowsConsoleConverter = 0;
-#endif
-
-void outputNewline()
-{
- consoleOut << endl;
-}
-
-void flushOutput()
-{
- consoleOut << flush;
-}
-
-void outputString(const string& s)
-{
- consoleOut << s;
-}
-
-void writeMessage(const string& message, bool indent)
-{
- string s = message;
-
- if(indent)
- {
- string::size_type idx = 0;
- while((idx = s.find("\n", idx)) != string::npos)
- {
- s.insert(idx + 1, " ");
- ++idx;
- }
- }
-
- outputString(s);
- outputNewline();
- flushOutput();
-}
-
-void printLogMessage(const string& p, const Ice::LogMessage& logMessage)
-{
- string prefix = p;
-
- if(!prefix.empty())
- {
- prefix += ": ";
- }
-
- string timestamp = IceUtil::Time::microSeconds(logMessage.timestamp).toDateTime();
-
- switch(logMessage.type)
- {
- case Ice::PrintMessage:
- {
- writeMessage(timestamp + " " + logMessage.message, false);
- break;
- }
- case Ice::TraceMessage:
- {
- string s = "-- " + timestamp + " " + prefix;
- if(!logMessage.traceCategory.empty())
- {
- s += logMessage.traceCategory + ": ";
- }
- s += logMessage.message;
- writeMessage(s, true);
- break;
- }
- case Ice::WarningMessage:
- {
- writeMessage("!- " + timestamp + " " + prefix + "warning: " + logMessage.message, true);
- break;
- }
- case Ice::ErrorMessage:
- {
- writeMessage("!! " + timestamp + " " + prefix + "error: " + logMessage.message, true);
- break;
- }
- default:
- {
- assert(0);
- }
- }
-}
-
-class RemoteLoggerI : public Ice::RemoteLogger
-{
-public:
-
- RemoteLoggerI();
-
- virtual void init(const string&, const Ice::LogMessageSeq&, const Ice::Current&);
- virtual void log(const Ice::LogMessage&, const Ice::Current&);
-
- void destroy();
-
-private:
-
- IceUtil::Monitor<IceUtil::Mutex> _monitor;
- bool _initDone;
- bool _destroyed;
- string _prefix;
-};
-
-typedef IceUtil::Handle<RemoteLoggerI> RemoteLoggerIPtr;
-
-RemoteLoggerI::RemoteLoggerI() :
- _initDone(false),
- _destroyed(false)
-{
-}
-
-void
-RemoteLoggerI::init(const string& prefix, const Ice::LogMessageSeq& logMessages, const Ice::Current&)
-{
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- if(!_destroyed)
- {
- _prefix = prefix;
-
- for(Ice::LogMessageSeq::const_iterator p = logMessages.begin(); p != logMessages.end(); ++p)
- {
- printLogMessage(_prefix, *p);
- }
-
- _initDone = true;
- _monitor.notifyAll();
- }
-}
-
-void
-RemoteLoggerI::log(const Ice::LogMessage& logMessage, const Ice::Current&)
-{
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- while(!_initDone && !_destroyed)
- {
- _monitor.wait();
- }
- if(!_destroyed)
- {
- printLogMessage(_prefix, logMessage);
- }
-}
-
-void
-RemoteLoggerI::destroy()
-{
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- _destroyed = true;
- _monitor.notifyAll();
-}
-
-}
-
-namespace IceGrid
-{
-
-Parser* parser;
-
-}
-
-ParserPtr
-Parser::createParser(const CommunicatorPtr& communicator, const AdminSessionPrx& session, const AdminPrx& admin,
- bool interactive)
-{
- return new Parser(communicator, session, admin, interactive);
-}
-
-void
-Parser::usage(const string& category, const string& command)
-{
- if(_helpCommands.find(category) == _helpCommands.end())
- {
- invalidCommand("unknown command `" + category + "'");
- }
- else if(_helpCommands[category].find(command) == _helpCommands[category].end())
- {
- invalidCommand("unknown command `" + category + " " + command + "'");
- }
- else
- {
- consoleOut << _helpCommands[category][command];
- }
-}
-
-void
-Parser::usage(const string& category, const list<string>& args)
-{
- if(args.empty())
- {
- usage(category);
- }
- else if(args.size() > 1)
- {
- invalidCommand("`help' requires at most 1 argument");
- }
- else
- {
- usage(category, *args.begin());
- }
-}
-
-void
-Parser::usage()
-{
- consoleOut <<
- "help Print this message.\n"
- "exit, quit Exit this program.\n"
- "CATEGORY help Print the help section of the given CATEGORY.\n"
- "COMMAND help Print the help of the given COMMAND.\n"
- "\n"
- "List of help categories:\n"
- "\n"
- " application: commands to manage applications\n"
- " node: commands to manage nodes\n"
- " registry: commands to manage registries\n"
- " server: commands to manage servers\n"
- " service: commands to manage services\n"
- " adapter: commands to manage adapters\n"
- " object: commands to manage objects\n"
- " server template: commands to manage server templates\n"
- " service template: commands to manage service templates\n"
- "\n";
-}
-
-void
-Parser::interrupt()
-{
- Lock sync(*this);
- _interrupted = true;
- notifyAll();
-}
-
-bool
-Parser::interrupted() const
-{
- Lock sync(*this);
- return _interrupted;
-}
-
-void
-Parser::resetInterrupt()
-{
- Lock sync(*this);
- _interrupted = false;
-}
-
-void
-Parser::checkInterrupted()
-{
- if(!_interactive)
- {
- Lock sync(*this);
- if(_interrupted)
- {
- throw "interrupted with Ctrl-C";
- }
- }
-}
-
-void
-Parser::addApplication(const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("n", "no-patch");
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() < 1)
- {
- invalidCommand("application add", "requires at least one argument");
- return;
- }
-
- try
- {
- StringSeq targets;
- map<string, string> vars;
-
- vector<string>::const_iterator p = args.begin();
- string desc = *p++;
-
- for(; p != args.end(); ++p)
- {
- string::size_type pos = p->find('=');
- if(pos != string::npos)
- {
- vars[p->substr(0, pos)] = p->substr(pos + 1);
- }
- else
- {
- targets.push_back(*p);
- }
- }
-
- //
- // Add the application.
- //
- ApplicationDescriptor app = DescriptorParser::parseDescriptor(desc, targets, vars, _communicator, _admin);
- _admin->addApplication(app);
-
- if(!opts.isSet("no-patch"))
- {
- //
- // Patch the application.
- //
- try
- {
- _admin->patchApplication(app.name, true);
- }
- catch(const PatchException& ex)
- {
- warning(patchFailed(ex.reasons));
- }
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::removeApplication(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("application remove", "requires exactly one argument");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- string name = *p++;
-
- _admin->removeApplication(name);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeApplication(const list<string>& args)
-{
- if(args.size() < 1)
- {
- invalidCommand("application describe", "requires at least one argument");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- string name = *p++;
- ostringstream os;
- Output out(os);
- ApplicationInfo info = _admin->getApplicationInfo(name);
- ApplicationHelper helper(_communicator, info.descriptor);
- helper.print(out, info);
- out << nl;
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::diffApplication(const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("s", "servers");
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() < 1)
- {
- invalidCommand("application diff" , "requires at least one argument");
- return;
- }
-
- try
- {
- StringSeq targets;
- map<string, string> vars;
-
- vector<string>::const_iterator p = args.begin();
- string desc = *p++;
-
- for(; p != args.end(); ++p)
- {
- string::size_type pos = p->find('=');
- if(pos != string::npos)
- {
- vars[p->substr(0, pos)] = p->substr(pos + 1);
- }
- else
- {
- targets.push_back(*p);
- }
- }
-
- ApplicationDescriptor newApp = DescriptorParser::parseDescriptor(desc, targets, vars, _communicator, _admin);
- ApplicationInfo origApp = _admin->getApplicationInfo(newApp.name);
-
- ApplicationHelper newAppHelper(_communicator, newApp);
- ApplicationHelper oldAppHelper(_communicator, origApp.descriptor);
-
- ostringstream os;
- Output out(os);
- if(opts.isSet("servers"))
- {
- map<string, ServerInfo> oldServers = oldAppHelper.getServerInfos(origApp.uuid, origApp.revision);
- map<string, ServerInfo> newServers = newAppHelper.getServerInfos(origApp.uuid, origApp.revision);
-
- vector<string> messages;
- map<string, ServerInfo>::const_iterator p;
- for(p = oldServers.begin(); p != oldServers.end(); ++p)
- {
- map<string, ServerInfo>::const_iterator q = newServers.find(p->first);
- if(q == newServers.end())
- {
- messages.push_back("server `" + p->first + "': removed");
- }
- }
-
- for(p = newServers.begin(); p != newServers.end(); ++p)
- {
- map<string, ServerInfo>::const_iterator q = oldServers.find(p->first);
- if(q == oldServers.end())
- {
- messages.push_back("server `" + p->first + "': added");
- }
- else if(isServerUpdated(p->second, q->second))
- {
- if(isServerUpdated(p->second, q->second, true)) // Ignore properties
- {
- messages.push_back("server `" + p->first + "': updated (restart required)");
- }
- else
- {
- messages.push_back("server `" + p->first + "': properties updated (no restart required)");
- }
- }
- }
-
- out << "application `" << origApp.descriptor.name << "'";
- out << sb;
- sort(messages.begin(), messages.end());
- for(vector<string>::const_iterator r = messages.begin(); r != messages.end(); ++r)
- {
- out << nl << *r;
- }
- out << eb;
- }
- else
- {
- newAppHelper.printDiff(out, oldAppHelper);
- }
- out << nl;
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::updateApplication(const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("n", "no-restart");
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() < 1)
- {
- invalidCommand("application update", "requires at least one argument");
- return;
- }
-
- try
- {
- StringSeq targets;
- map<string, string> vars;
-
- vector<string>::const_iterator p = args.begin();
- string xml = *p++;
-
- for(; p != args.end(); ++p)
- {
- string::size_type pos = p->find('=');
- if(pos != string::npos)
- {
- vars[p->substr(0, pos)] = p->substr(pos + 1);
- }
- else
- {
- targets.push_back(*p);
- }
- }
-
- ApplicationDescriptor desc = DescriptorParser::parseDescriptor(xml, targets, vars, _communicator, _admin);
- if(opts.isSet("no-restart"))
- {
- _admin->syncApplicationWithoutRestart(desc);
- }
- else
- {
- _admin->syncApplication(desc);
- }
- }
- catch(const Ice::OperationNotExistException&)
- {
- error("registry doesn't support updates without restart");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::patchApplication(const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("f", "force");
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() != 1)
- {
- invalidCommand("application patch", "requires exactly one argument");
- return;
- }
-
- try
- {
- vector<string>::const_iterator p = args.begin();
- string name = *p++;
- _admin->patchApplication(name, opts.isSet("force"));
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listAllApplications(const list<string>& args)
-{
- if(!args.empty())
- {
- invalidCommand("application list", "doesn't require any argument");
- return;
- }
-
- try
- {
- Ice::StringSeq names = _admin->getAllApplicationNames();
- ostringstream os;
- copy(names.begin(), names.end(), ostream_iterator<string>(os,"\n"));
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeServerTemplate(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("server template describe", "requires exactly two arguments");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- string name = *p++;
- string templ = *p++;
-
- ApplicationInfo application = _admin->getApplicationInfo(name);
-
- ostringstream os;
- Output out(os);
- TemplateDescriptorDict::const_iterator q = application.descriptor.serverTemplates.find(templ);
- if(q != application.descriptor.serverTemplates.end())
- {
- out << "server template `" << templ << "'";
- out << sb;
-
- out << nl << "parameters = `" << toString(q->second.parameters) << "'";
- out << nl;
-
- ServerDescriptorPtr server = ServerDescriptorPtr::dynamicCast(q->second.descriptor);
- IceBoxDescriptorPtr iceBox = IceBoxDescriptorPtr::dynamicCast(server);
- if(iceBox)
- {
- IceBoxHelper(iceBox).print(_communicator, out);
- }
- else
- {
- ServerHelper(server).print(_communicator, out);
- }
- out << eb;
- out << nl;
- }
- else
- {
- error("no server template with id `" + templ + "'");
- }
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::instantiateServerTemplate(const list<string>& args)
-{
- if(args.size() < 3)
- {
- invalidCommand("server template instantiate", "requires at least three arguments");
- return;
- }
-
- try
- {
- map<string, string> vars;
-
- list<string>::const_iterator p = args.begin();
- string application = *p++;
- string node = *p++;
- string templ = *p++;
- for(; p != args.end(); ++p)
- {
- string::size_type pos = p->find('=');
- if(pos != string::npos)
- {
- vars[p->substr(0, pos)] = p->substr(pos + 1);
- }
- }
-
- ServerInstanceDescriptor desc;
- desc._cpp_template = templ;
- desc.parameterValues = vars;
- _admin->instantiateServer(application, node, desc);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeServiceTemplate(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("service template describe", "requires exactly two arguments");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- string name = *p++;
- string templ = *p++;
-
- ApplicationInfo application = _admin->getApplicationInfo(name);
-
- ostringstream os;
- Output out(os);
- TemplateDescriptorDict::const_iterator q = application.descriptor.serviceTemplates.find(templ);
- if(q != application.descriptor.serviceTemplates.end())
- {
- out << "service template `" << templ << "'";
- out << sb;
-
- out << nl << "parameters = `" << toString(q->second.parameters) << "'";
- out << nl;
-
- ServiceDescriptorPtr desc = ServiceDescriptorPtr::dynamicCast(q->second.descriptor);
- ServiceHelper(desc).print(_communicator, out);
- out << eb;
- out << nl;
- }
- else
- {
- invalidCommand("no service template with id `" + templ + "'");
- }
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeNode(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("node describe", "requires exactly one argument");
- return;
- }
-
- try
- {
- NodeInfo info = _admin->getNodeInfo(args.front());
- ostringstream os;
- Output out(os);
- out << "node `" << args.front() << "'";
- out << sb;
- out << nl << "operating system = `" << info.os << "'";
- out << nl << "host name = `" << info.hostname << "'";
- out << nl << "release = `" << info.release << "'";
- out << nl << "version = `" << info.version << "'";
- out << nl << "machine type = `" << info.machine << "'";
- out << nl << "number of threads = `" << info.nProcessors << "'";
- out << eb;
- out << nl;
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::pingNode(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("node ping", "requires exactly one argument");
- return;
- }
-
- try
- {
- if(_admin->pingNode(args.front()))
- {
- consoleOut << "node is up" << endl;
- }
- else
- {
- consoleOut << "node is down" << endl;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::printLoadNode(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("node load", "requires exactly one argument");
- return;
- }
-
- try
- {
- LoadInfo load = _admin->getNodeLoad(args.front());
- consoleOut << "load average (1/5/15): " << load.avg1 << " / " << load.avg5 << " / " << load.avg15 << endl;
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::printNodeProcessorSockets(const list<string>& args)
-{
- if(args.size() > 1)
- {
- invalidCommand("node sockets", "requires no more than one argument");
- return;
- }
-
- try
- {
- if(args.size() == 1)
- {
- try
- {
- consoleOut << _admin->getNodeProcessorSocketCount(args.front()) << endl;
- }
- catch(const Ice::OperationNotExistException&)
- {
- consoleOut << "not supported" << endl;
- }
- }
- else
- {
- Ice::StringSeq names = _admin->getAllNodeNames();
- map<string, pair< vector<string>, int> > processorSocketCounts;
- for(Ice::StringSeq::const_iterator p = names.begin(); p != names.end(); p++)
- {
- try
- {
- NodeInfo info = _admin->getNodeInfo(*p);
- processorSocketCounts[info.hostname].first.push_back(*p);
- try
- {
- processorSocketCounts[info.hostname].second = _admin->getNodeProcessorSocketCount(*p);
- }
- catch(const Ice::OperationNotExistException&)
- {
- // Not supported.
- processorSocketCounts[info.hostname].second = 0;
- }
- }
- catch(const NodeNotExistException&)
- {
- }
- catch(const NodeUnreachableException&)
- {
- }
- }
-
- ostringstream os;
- os.flags(ios::left);
- os << setw(20) << "Hostname" << setw(20) << "| # of sockets" << setw(39) << "| Nodes" << endl;
- os << setw(79) << "=====================================================================" << endl;
- for(map<string, pair< vector<string>, int> >::const_iterator q = processorSocketCounts.begin();
- q != processorSocketCounts.end(); ++q)
- {
- os << setw(20) << setiosflags(ios::left) <<q->first;
- os << "| " << setw(18) << setiosflags(ios::left) << q->second.second;
- os << "| " << setw(37) << setiosflags(ios::left) << toString(q->second.first);
- os << endl;
- }
- consoleOut << os.str() << flush;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::shutdownNode(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("node shutdown", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->shutdownNode(args.front());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listAllNodes(const list<string>& args)
-{
- if(!args.empty())
- {
- invalidCommand("node list", "doesn't require any argument");
- return;
- }
-
- try
- {
- ostringstream os;
- Ice::StringSeq names = _admin->getAllNodeNames();
- copy(names.begin(), names.end(), ostream_iterator<string>(os,"\n"));
- consoleOut << os.str();
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeRegistry(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("registry describe", "requires exactly one argument");
- return;
- }
-
- try
- {
- RegistryInfo info = _admin->getRegistryInfo(args.front());
- ostringstream os;
- Output out(os);
- out << "registry `" << args.front() << "'";
- out << sb;
- out << nl << "host name = `" << info.hostname << "'";
- out << eb;
- out << nl;
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::pingRegistry(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("registry ping", "requires exactly one argument");
- return;
- }
-
- try
- {
- if(_admin->pingRegistry(args.front()))
- {
- consoleOut << "registry is up" << endl;
- }
- else
- {
- consoleOut << "registry is down" << endl;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::shutdownRegistry(const list<string>& args)
-{
- if(args.size() > 1)
- {
- invalidCommand("registry shutdown", "requires at most one argument");
- return;
- }
-
- try
- {
- if(args.empty())
- {
- _admin->shutdown();
- }
- else
- {
- _admin->shutdownRegistry(args.front());
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listAllRegistries(const list<string>& args)
-{
- if(!args.empty())
- {
- invalidCommand("registry list", "doesn't require any argument");
- return;
- }
-
- try
- {
- ostringstream os;
- Ice::StringSeq names = _admin->getAllRegistryNames();
- copy(names.begin(), names.end(), ostream_iterator<string>(os,"\n"));
- consoleOut << os.str();
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::removeServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server remove", "requires exactly one argument");
- return;
- }
-
- try
- {
- ServerInfo info = _admin->getServerInfo(args.front());
- NodeUpdateDescriptor nodeUpdate;
- nodeUpdate.name = info.node;
- nodeUpdate.removeServers.push_back(args.front());
- ApplicationUpdateDescriptor update;
- update.name = info.application;
- update.nodes.push_back(nodeUpdate);
- _admin->updateApplication(update);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::startServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server start", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->startServer(args.front());
- }
- catch(const ServerStartException& ex)
- {
- error("the server didn't start successfully:\n" + ex.reason);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::stopServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server stop", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->stopServer(args.front());
- }
- catch(const ServerStopException& ex)
- {
- error("the server didn't stop successfully:\n" + ex.reason);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::patchServer(const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("f", "force");
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() != 1)
- {
- invalidCommand("server patch", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->patchServer(args.front(), opts.isSet("force"));
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::signalServer(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("server signal", "requires exactly two arguments");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
- string server = *p++;
- _admin->sendSignal(server, *p);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-
-void
-Parser::writeMessage(const list<string>& args, int fd)
-{
- if(args.size() != 2)
- {
- invalidCommand("server stdout or server stderr", "requires exactly two arguments");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
- string server = *p++;
-
- Ice::ObjectPrx serverAdmin = _admin->getServerAdmin(server);
- Ice::ProcessPrx process = Ice::ProcessPrx::uncheckedCast(serverAdmin, "Process");
-
- process->writeMessage(*p, fd);
- }
- catch(const Ice::ObjectNotExistException&)
- {
- error("couldn't reach the server's Admin object");
- }
- catch(const Ice::FacetNotExistException&)
- {
- error("the server's Admin object does not provide a 'Process' facet");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server describe", "requires exactly one argument");
- return;
- }
-
- try
- {
- ServerInfo info = _admin->getServerInfo(args.front());
- ostringstream os;
- Output out(os);
- IceBoxDescriptorPtr iceBox = IceBoxDescriptorPtr::dynamicCast(info.descriptor);
- if(iceBox)
- {
- IceBoxHelper(iceBox).print(_communicator, out, info);
- }
- else
- {
- ServerHelper(info.descriptor).print(_communicator, out, info);
- }
- out << nl;
- outputString(os.str());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::stateServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server state", "requires exactly one argument");
- return;
- }
-
- try
- {
- ServerState state = _admin->getServerState(args.front());
- string enabled = _admin->isServerEnabled(args.front()) ? "enabled" : "disabled";
- switch(state)
- {
- case Inactive:
- {
- consoleOut << "inactive (" << enabled << ")" << endl;
- break;
- }
- case Activating:
- {
- consoleOut << "activating (" << enabled << ")" << endl;
- break;
- }
- case Active:
- {
- int pid = _admin->getServerPid(args.front());
- consoleOut << "active (pid = " << pid << ", " << enabled << ")" << endl;
- break;
- }
- case ActivationTimedOut:
- {
- int pid = _admin->getServerPid(args.front());
- consoleOut << "activation timed out (pid = " << pid << ", " << enabled << ")" << endl;
- break;
- }
- case Deactivating:
- {
- consoleOut << "deactivating (" << enabled << ")" << endl;
- break;
- }
- case Destroying:
- {
- consoleOut << "destroying (" << enabled << ")" << endl;
- break;
- }
- case Destroyed:
- {
- consoleOut << "destroyed (" << enabled << ")" << endl;
- break;
- }
- default:
- assert(false);
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::pidServer(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("server pid", "requires exactly one argument");
- return;
- }
-
- try
- {
- int pid = _admin->getServerPid(args.front());
- if(pid > 0)
- {
- consoleOut << pid << endl;
- }
- else
- {
- error("server is not running");
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::propertiesServer(const list<string>& args, bool single)
-{
- if(single && args.size() != 2)
- {
- invalidCommand("server property", "requires exactly two arguments");
- return;
- }
- else if(!single && args.size() != 1)
- {
- invalidCommand("server properties", "requires exactly one argument");
- return;
- }
-
- try
- {
- Ice::ObjectPrx serverAdmin = _admin->getServerAdmin(args.front());
- Ice::PropertiesAdminPrx propAdmin = Ice::PropertiesAdminPrx::uncheckedCast(serverAdmin, "Properties");
-
- if(single)
- {
- string val = propAdmin->getProperty(*(++args.begin()));
- consoleOut << val << endl;
- }
- else
- {
- Ice::PropertyDict properties = propAdmin->getPropertiesForPrefix("");
- for(Ice::PropertyDict::const_iterator p = properties.begin(); p != properties.end(); ++p)
- {
- consoleOut << p->first << "=" << p->second << endl;
- }
- }
- }
- catch(const Ice::ObjectNotExistException&)
- {
- error("couldn't reach the server's Admin object");
- }
- catch(const Ice::FacetNotExistException&)
- {
- error("the server's Admin object does not provide a 'Properties' facet");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::enableServer(const list<string>& args, bool enable)
-{
- if(args.size() != 1)
- {
- if(enable)
- {
- invalidCommand("server enable", "requires exactly one argument");
- }
- else
- {
- invalidCommand("server disable", "requires exactly one argument");
- }
- return;
- }
-
- try
- {
- _admin->enableServer(args.front(), enable);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listAllServers(const list<string>& args)
-{
- if(!args.empty())
- {
- invalidCommand("server list", "doesn't require any argument");
- return;
- }
-
- try
- {
- ostringstream os;
- Ice::StringSeq ids = _admin->getAllServerIds();
- copy(ids.begin(), ids.end(), ostream_iterator<string>(os,"\n"));
- consoleOut << os.str();
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::startService(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("service start", "requires exactly two arguments");
- return;
- }
-
- string server = args.front();
- string service = *(++args.begin());
- try
- {
- Ice::ObjectPrx admin = _admin->getServerAdmin(server);
- IceBox::ServiceManagerPrx manager = IceBox::ServiceManagerPrx::uncheckedCast(admin, "IceBox.ServiceManager");
- manager->startService(service);
- }
- catch(const IceBox::AlreadyStartedException&)
- {
- error("the service `" + service + "' is already started");
- }
- catch(const IceBox::NoSuchServiceException&)
- {
- error("couldn't find service `" + service + "'");
- }
- catch(const Ice::ObjectNotExistException&)
- {
- error("couldn't reach the server's Admin object");
- }
- catch(const Ice::FacetNotExistException&)
- {
- error("the server's Admin object does not provide a 'IceBox.ServiceManager' facet");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::stopService(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("service stop", "requires exactly two arguments");
- return;
- }
-
- string server = args.front();
- string service = *(++args.begin());
- try
- {
- Ice::ObjectPrx admin = _admin->getServerAdmin(server);
- IceBox::ServiceManagerPrx manager = IceBox::ServiceManagerPrx::uncheckedCast(admin, "IceBox.ServiceManager");
- manager->stopService(service);
- }
- catch(const IceBox::AlreadyStoppedException&)
- {
- error("the service `" + service + "' is already stopped");
- }
- catch(const IceBox::NoSuchServiceException&)
- {
- error("couldn't find service `" + service + "'");
- }
- catch(const Ice::ObjectNotExistException&)
- {
- error("couldn't reach the server's Admin object");
- }
- catch(const Ice::FacetNotExistException&)
- {
- error("the server's Admin object does not provide a 'IceBox.ServiceManager' facet");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeService(const list<string>& args)
-{
- if(args.size() != 2)
- {
- invalidCommand("service describe", "requires exactly two arguments");
- return;
- }
-
- string server = args.front();
- string service = *(++args.begin());
- try
- {
- ServerInfo info = _admin->getServerInfo(server);
- IceBoxDescriptorPtr iceBox = IceBoxDescriptorPtr::dynamicCast(info.descriptor);
- if(!iceBox)
- {
- error("server `" + server + "' is not an IceBox server");
- return;
- }
-
- ostringstream os;
- Output out(os);
- bool found = false;
- for(ServiceInstanceDescriptorSeq::const_iterator p = iceBox->services.begin(); p != iceBox->services.end(); ++p)
- {
- if(p->descriptor && p->descriptor->name == service)
- {
- ServiceHelper(p->descriptor).print(_communicator, out);
- out << nl;
- found = true;
- break;
- }
- }
- outputString(os.str());
-
- if(!found)
- {
- error("couldn't find service `" + service + "'");
- return;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::propertiesService(const list<string>& args, bool single)
-{
- if(single && args.size() != 3)
- {
- invalidCommand("service property", "requires exactly three arguments");
- return;
- }
- else if(!single && args.size() != 2)
- {
- invalidCommand("service properties", "requires exactly two argument");
- return;
- }
-
- list<string>::const_iterator a = args.begin();
- string server = *a++;
- string service = *a++;
- string property = single ? *a++ : string();
-
- try
- {
- //
- // First, we ensure that the service exists.
- //
- ServerInfo info = _admin->getServerInfo(server);
- IceBoxDescriptorPtr iceBox = IceBoxDescriptorPtr::dynamicCast(info.descriptor);
- if(!iceBox)
- {
- error("server `" + server + "' is not an IceBox server");
- return;
- }
-
- bool found = false;
- for(ServiceInstanceDescriptorSeq::const_iterator p = iceBox->services.begin(); p != iceBox->services.end(); ++p)
- {
- if(p->descriptor && p->descriptor->name == service)
- {
- found = true;
- break;
- }
- }
- if(!found)
- {
- error("couldn't find service `" + service + "'");
- return;
- }
-
- Ice::ObjectPrx admin = _admin->getServerAdmin(server);
- Ice::PropertiesAdminPrx propAdmin;
- if(getPropertyAsInt(info.descriptor->propertySet.properties, "IceBox.UseSharedCommunicator." + service) > 0)
- {
- propAdmin = Ice::PropertiesAdminPrx::uncheckedCast(admin, "IceBox.SharedCommunicator.Properties");
- }
- else
- {
- propAdmin = Ice::PropertiesAdminPrx::uncheckedCast(admin, "IceBox.Service." + service + ".Properties");
- }
-
- if(single)
- {
- string val = propAdmin->getProperty(property);
- consoleOut << val << endl;
- }
- else
- {
- Ice::PropertyDict properties = propAdmin->getPropertiesForPrefix("");
- for(Ice::PropertyDict::const_iterator p = properties.begin(); p != properties.end(); ++p)
- {
- consoleOut << p->first << "=" << p->second << endl;
- }
- }
- }
- catch(const Ice::ObjectNotExistException&)
- {
- error("couldn't reach the server's Admin object");
- }
- catch(const Ice::FacetNotExistException&)
- {
- error("the server's Admin object does not provide an 'IceBox.Service." + service + ".Properties' facet");
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listServices(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("service list", "requires exactly one argument");
- return;
- }
-
- string server = args.front();
- try
- {
- ServerInfo info = _admin->getServerInfo(server);
- IceBoxDescriptorPtr iceBox = IceBoxDescriptorPtr::dynamicCast(info.descriptor);
- if(!iceBox)
- {
- error("server `" + server + "' is not an IceBox server");
- return;
- }
- for(ServiceInstanceDescriptorSeq::const_iterator p = iceBox->services.begin(); p != iceBox->services.end(); ++p)
- {
- if(p->descriptor)
- {
- consoleOut << p->descriptor->name << endl;
- }
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-
-void
-Parser::endpointsAdapter(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("adapter endpoints", "requires exactly one argument");
- return;
- }
-
- try
- {
- string adapterId = args.front();
- AdapterInfoSeq adpts = _admin->getAdapterInfo(adapterId);
- if(adpts.size() == 1 && adpts.begin()->id == adapterId)
- {
- string endpoints = _communicator->proxyToString(adpts.begin()->proxy);
- consoleOut << (endpoints.empty() ? string("<inactive>") : endpoints) << endl;
- }
- else
- {
- for(AdapterInfoSeq::const_iterator p = adpts.begin(); p != adpts.end(); ++p)
- {
- consoleOut << (p->id.empty() ? string("<empty>") : p->id) << ": ";
- string endpoints = _communicator->proxyToString(p->proxy);
- consoleOut << (endpoints.empty() ? string("<inactive>") : endpoints) << endl;
- }
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::removeAdapter(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("adapter remove", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->removeAdapter(*args.begin());
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listAllAdapters(const list<string>& args)
-{
- if(!args.empty())
- {
- invalidCommand("adapter list", "doesn't require any argument");
- return;
- }
-
- try
- {
- ostringstream os;
- Ice::StringSeq ids = _admin->getAllAdapterIds();
- copy(ids.begin(), ids.end(), ostream_iterator<string>(os,"\n"));
- consoleOut << os.str();
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::addObject(const list<string>& args)
-{
- if(args.size() != 1 && args.size() != 2)
- {
- invalidCommand("object add", "requires one or two arguments");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- string proxy = *p++;
-
- if(p != args.end())
- {
- string type = *p++;
- _admin->addObjectWithType(_communicator->stringToProxy(proxy), type);
- }
- else
- {
- _admin->addObject(_communicator->stringToProxy(proxy));
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::removeObject(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("object remove", "requires exactly one argument");
- return;
- }
-
- try
- {
- _admin->removeObject(Ice::stringToIdentity((*(args.begin()))));
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::findObject(const list<string>& args)
-{
- if(args.size() != 1)
- {
- invalidCommand("object find", "requires exactly one argument");
- return;
- }
-
- try
- {
- ObjectInfoSeq objects = _admin->getObjectInfosByType(*(args.begin()));
- for(ObjectInfoSeq::const_iterator p = objects.begin(); p != objects.end(); ++p)
- {
- consoleOut << _communicator->proxyToString(p->proxy) << endl;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::describeObject(const list<string>& args)
-{
- if(args.size() > 1)
- {
- invalidCommand("object describe", "requires at most one argument");
- return;
- }
-
- try
- {
- ObjectInfoSeq objects;
- if(args.size() == 1)
- {
- string arg = *(args.begin());
- if(arg.find('*') == string::npos)
- {
- ObjectInfo info = _admin->getObjectInfo(Ice::stringToIdentity(arg));
- consoleOut << "proxy = `" << _communicator->proxyToString(info.proxy) << "'" << endl;
- consoleOut << "type = `" << info.type << "'" << endl;
- return;
- }
- else
- {
- objects = _admin->getAllObjectInfos(arg);
- }
- }
- else
- {
- objects = _admin->getAllObjectInfos("");
- }
-
- for(ObjectInfoSeq::const_iterator p = objects.begin(); p != objects.end(); ++p)
- {
- consoleOut << "proxy = `" << _communicator->proxyToString(p->proxy) << "' type = `" << p->type << "'" << endl;
- }
-
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::listObject(const list<string>& args)
-{
- if(args.size() > 1)
- {
- invalidCommand("object list", "requires at most one argument");
- return;
- }
-
- try
- {
- ObjectInfoSeq objects;
- if(args.size() == 1)
- {
- objects = _admin->getAllObjectInfos(*(args.begin()));
- }
- else
- {
- objects = _admin->getAllObjectInfos("");
- }
-
- for(ObjectInfoSeq::const_iterator p = objects.begin(); p != objects.end(); ++p)
- {
- consoleOut << _communicator->identityToString(p->proxy->ice_getIdentity()) << endl;
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::show(const string& reader, const list<string>& origArgs)
-{
- list<string> copyArgs = origArgs;
- copyArgs.push_front("icegridadmin");
-
- IceUtilInternal::Options opts;
- opts.addOpt("f", "follow");
- opts.addOpt("h", "head", IceUtilInternal::Options::NeedArg);
- opts.addOpt("t", "tail", IceUtilInternal::Options::NeedArg);
-
- vector<string> args;
- try
- {
- for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p)
- {
- args.push_back(*p);
- }
- args = opts.parse(args);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- error(e.reason);
- return;
- }
-
- if(args.size() != 2)
- {
- invalidCommand(reader + " show", "requires two arguments");
- return;
- }
-
- try
- {
- vector<string>::const_iterator p = args.begin();
- string id = *p++;
- string filename = *p++;
-
- consoleOut << reader << " `" << id << "' " << filename << ": " << flush;
- Ice::StringSeq lines;
-
- bool head = opts.isSet("head");
- bool tail = opts.isSet("tail");
- if(head && tail)
- {
- invalidCommand("can't specify both -h | --head and -t | --tail options");
- return;
- }
- if(head && reader == "log")
- {
- invalidCommand("can't specify -h | --head option with log");
- return;
- }
-
- int lineCount = 20;
- if(head || tail)
- {
- if(head)
- {
- istringstream is(opts.optArg("head"));
- is >> lineCount;
- }
- else
- {
- istringstream is(opts.optArg("tail"));
- is >> lineCount;
- }
- if(lineCount <= 0)
- {
- invalidCommand("invalid argument for -h | --head or -t | --tail option");
- return;
- }
- }
-
- bool follow = opts.isSet("follow");
-
- if(head && follow)
- {
- invalidCommand("can't use -f | --follow option with -h | --head option");
- return;
- }
-
- if(filename == "log")
- {
- showLog(id, reader, tail, follow, lineCount);
- }
- else
- {
- showFile(id, reader, filename, head, tail, follow, lineCount);
- }
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::showFile(const string& id, const string& reader, const string& filename,
- bool head, bool tail, bool follow, int lineCount)
-{
-
- int maxBytes = _communicator->getProperties()->getPropertyAsIntWithDefault("Ice.MessageSizeMax", 1024) * 1024;
-
- FileIteratorPrx it;
-
- try
- {
- if(reader == "node")
- {
- if(filename == "stderr")
- {
- it = _session->openNodeStdErr(id, tail ? lineCount : -1);
- }
- else if(filename == "stdout")
- {
- it = _session->openNodeStdOut(id, tail ? lineCount : -1);
- }
- else
- {
- invalidCommand("invalid node log filename `" + filename + "'");
- return;
- }
- }
- else if(reader == "registry")
- {
- if(filename == "stderr")
- {
- it = _session->openRegistryStdErr(id, tail ? lineCount : -1);
- }
- else if(filename == "stdout")
- {
- it = _session->openRegistryStdOut(id, tail ? lineCount : -1);
- }
- else
- {
- invalidCommand("invalid registry log filename `" + filename + "'");
- return;
- }
- }
- else if(reader == "server")
- {
- if(filename == "stderr")
- {
- it = _session->openServerStdErr(id, tail ? lineCount : -1);
- }
- else if(filename == "stdout")
- {
- it = _session->openServerStdOut(id, tail ? lineCount : -1);
- }
- else
- {
- it = _session->openServerLog(id, filename, tail ? lineCount : -1);
- }
- }
-
- resetInterrupt();
- Ice::StringSeq lines;
- if(head)
- {
- assert(!follow);
-
- int i = 0;
- bool eof = false;
- while(!interrupted() && !eof && i < lineCount)
- {
- eof = it->read(maxBytes, lines);
- for(Ice::StringSeq::const_iterator p = lines.begin(); i < lineCount && p != lines.end(); ++p, ++i)
- {
- outputNewline();
- outputString(*p);
- flushOutput();
- }
- }
- }
- else
- {
- bool eof = false;
- while(!interrupted() && !eof)
- {
- eof = it->read(maxBytes, lines);
- for(Ice::StringSeq::const_iterator p = lines.begin(); p != lines.end(); ++p)
- {
- outputNewline();
- outputString(*p);
- flushOutput();
- }
- }
- }
-
- if(follow)
- {
- while(!interrupted())
- {
- bool eof = it->read(maxBytes, lines);
- for(Ice::StringSeq::const_iterator p = lines.begin(); p != lines.end(); ++p)
- {
- outputString(*p);
- if((p + 1) != lines.end())
- {
- outputNewline();
- }
- else
- {
- flushOutput();
- }
- }
-
- if(eof)
- {
- Lock sync(*this);
- if(_interrupted)
- {
- break;
- }
- timedWait(IceUtil::Time::seconds(5));
- }
- }
- }
-
- if(lines.empty() || !lines.back().empty())
- {
- outputNewline();
- flushOutput();
- }
-
- it->destroy();
- }
- catch(...)
- {
- if(it != 0)
- {
- try
- {
- it->destroy();
- }
- catch(...)
- {
- }
- }
- throw;
- }
-}
-
-void
-Parser::showLog(const string& id, const string& reader, bool tail, bool follow, int lineCount)
-{
- outputNewline();
-
- Ice::ObjectPrx admin;
-
- if(reader == "server")
- {
- admin = _admin->getServerAdmin(id);
- }
- else if(reader == "node")
- {
- admin = _admin->getNodeAdmin(id);
- }
- else if(reader == "registry")
- {
- admin = _admin->getRegistryAdmin(id);
- }
-
- if(admin == 0)
- {
- error("cannot retrieve Admin proxy for " + reader + " `" + id + "'");
- return;
- }
-
- Ice::LoggerAdminPrx loggerAdmin;
-
- try
- {
- loggerAdmin = Ice::LoggerAdminPrx::checkedCast(admin, "Logger");
- }
- catch(const Ice::Exception&)
- {
- }
-
- if(loggerAdmin == 0)
- {
- error("cannot retrieve Logger admin facet for " + reader + " `" + id + "'");
- return;
- }
-
- if(follow)
- {
- Ice::ObjectPrx adminCallbackTemplate = _session->getAdminCallbackTemplate();
-
- if(adminCallbackTemplate == 0)
- {
- error("cannot retriever Callback template from IceGrid registry");
- return;
- }
-
- const Ice::EndpointSeq endpoints = adminCallbackTemplate->ice_getEndpoints();
- string publishedEndpoints;
-
- for(Ice::EndpointSeq::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p)
- {
- if(publishedEndpoints.empty())
- {
- publishedEndpoints = (*p)->toString();
- }
- else
- {
- publishedEndpoints += ":" + (*p)->toString();
- }
- }
-
- _communicator->getProperties()->setProperty("RemoteLoggerAdapter.PublishedEndpoints", publishedEndpoints);
-
- Ice::ObjectAdapterPtr adapter = _communicator->createObjectAdapter("RemoteLoggerAdapter");
-
- _session->ice_getConnection()->setAdapter(adapter);
-
- Ice::Identity id;
- ostringstream name;
- name << "RemoteLogger-" << loggerCallbackCount++;
- id.name = name.str();
- id.category = adminCallbackTemplate->ice_getIdentity().category;
-
- RemoteLoggerIPtr servant = new RemoteLoggerI;
- Ice::RemoteLoggerPrx prx =
- Ice::RemoteLoggerPrx::uncheckedCast(adapter->add(servant, id));
- adapter->activate();
-
- loggerAdmin->attachRemoteLogger(prx, Ice::LogMessageTypeSeq(), Ice::StringSeq(), tail ? lineCount : -1);
-
- resetInterrupt();
- {
- Lock lock(*this);
- while(!_interrupted)
- {
- wait();
- }
- }
-
- servant->destroy();
- adapter->destroy();
-
- try
- {
- loggerAdmin->detachRemoteLogger(prx);
- }
- catch(const Ice::ObjectNotExistException&)
- {
- // ignored
- }
- }
- else
- {
- string prefix;
- const Ice::LogMessageSeq logMessages = loggerAdmin->getLog(Ice::LogMessageTypeSeq(), Ice::StringSeq(),
- tail ? lineCount : -1, prefix);
-
- for(Ice::LogMessageSeq::const_iterator p = logMessages.begin(); p != logMessages.end(); ++p)
- {
- printLogMessage(prefix, *p);
- }
- }
-}
-
-void
-Parser::showBanner()
-{
- consoleOut << "Ice " << ICE_STRING_VERSION << " Copyright (c) 2003-2016 ZeroC, Inc." << endl;
-}
-
-void
-Parser::showCopying()
-{
- consoleOut << "This command is not implemented." << endl;
-}
-
-void
-Parser::showWarranty()
-{
- consoleOut << "This command is not implemented." << endl;
-}
-
-//
-// With older flex version <= 2.5.35 YY_INPUT second
-// paramenter is of type int&, in newer versions it
-// changes to size_t&
-//
-void
-Parser::getInput(char* buf, int& result, size_t maxSize)
-{
- size_t r = static_cast<size_t>(result);
- getInput(buf, r, maxSize);
- result = static_cast<int>(r);
-}
-
-void
-Parser::getInput(char* buf, size_t& result, size_t maxSize)
-{
- if(!_commands.empty())
- {
- if(_commands == ";")
- {
- result = 0;
- }
- else
- {
- result = min(maxSize, _commands.length());
- strncpy(buf, _commands.c_str(), result);
- _commands.erase(0, result);
- if(_commands.empty())
- {
- _commands = ";";
- }
- }
- }
- else
- {
-#ifdef HAVE_READLINE
-
- const char* prompt = parser->getPrompt();
- char* line = readline(const_cast<char*>(prompt));
- if(!line)
- {
- result = 0;
- }
- else
- {
- if(*line)
- {
- add_history(line);
- }
-
- result = strlen(line) + 1;
- if(result > maxSize)
- {
- free(line);
- error("input line too long");
- result = 0;
- }
- else
- {
- strcpy(buf, line);
- strcat(buf, "\n");
- free(line);
- }
- }
-#else
- consoleOut << parser->getPrompt() << flush;
- string line;
- while(true)
- {
- char c = static_cast<char>(getc(yyin));
- if(c == EOF)
- {
- if(line.size())
- {
- line += '\n';
- }
- break;
- }
-
- line += c;
- if(c == '\n')
- {
- break;
- }
- }
-#ifdef _WIN32
- if(windowsConsoleConverter)
- {
- line = nativeToUTF8(line, windowsConsoleConverter);
- }
-#endif
- result = line.length();
- if(result > maxSize)
- {
- error("input line too long");
- buf[0] = EOF;
- result = 1;
- }
- else
- {
- strcpy(buf, line.c_str());
- }
-#endif
- }
-}
-
-void
-Parser::continueLine()
-{
- _continue = true;
-}
-
-const char*
-Parser::getPrompt()
-{
- assert(_commands.empty());
-
- if(_continue)
- {
- _continue = false;
- return "(cont) ";
- }
- else
- {
- return ">>> ";
- }
-}
-
-void
-Parser::invalidCommand(const char* s)
-{
- error(s);
-}
-
-void
-Parser::invalidCommand(const string& s)
-{
- error(s.c_str());
-}
-
-void
-Parser::invalidCommand(const string& command, const string& msg)
-{
- error("`" + command + "' " + msg + "\n(`" + command + " help' for more info)");
-}
-
-void
-Parser::invalidCommand(const list<string>& s)
-{
- if(s.empty())
- {
- return;
- }
-
- string cat = *s.begin();
- if(_helpCommands.find(cat) == _helpCommands.end())
- {
- consoleErr << "unknown `" << cat << "' command (see `help' for more info)" << endl;
- }
- else if(s.size() == 1)
- {
- consoleErr << "invalid `" << cat << "' command (see `" << cat << " help' for more info)" << endl;
- }
- else
- {
- string cmd = *(++s.begin());
- if(_helpCommands[cat].find(cmd) == _helpCommands[cat].end())
- {
- cmd = cat + " " + cmd;
- consoleErr << "unknown `" << cmd << "' command (see `" << cat << " help' for more info)" << endl;
- }
- else
- {
- cmd = cat + " " + cmd;
- consoleErr << "invalid `" << cmd << "' command (see `" << cmd << " help' for more info)" << endl;
- }
- }
-}
-
-string
-Parser::patchFailed(const Ice::StringSeq& reasons)
-{
- if(reasons.size() == 1)
- {
- ostringstream s;
- s << "the patch failed:\n" << reasons[0];
- return s.str();
- }
- else
- {
- ostringstream os;
- IceUtilInternal::Output out(os);
- out.setIndent(2);
- out << "the patch failed on some nodes:\n";
- for(Ice::StringSeq::const_iterator p = reasons.begin(); p != reasons.end(); ++p)
- {
- string reason = *p;
- string::size_type beg = 0;
- string::size_type end = reason.find_first_of("\n");
- if(end == string::npos)
- {
- end = reason.size();
- }
- out << "- " << reason.substr(beg, end - beg);
- out.inc();
- while(end < reason.size())
- {
- beg = end + 1;
- end = reason.find_first_of("\n", beg);
- if(end == string::npos)
- {
- end = reason.size();
- }
- out.newline();
- out << reason.substr(beg, end - beg);
- }
- out.dec();
- if(p + 1 != reasons.end())
- {
- out.newline();
- }
- }
- return os.str();
- }
-}
-
-void
-Parser::error(const char* s)
-{
-
- consoleErr << "error: " << s << endl;
- _errors++;
-}
-
-void
-Parser::error(const string& s)
-{
- error(s.c_str());
-}
-
-void
-Parser::warning(const char* s)
-{
- consoleErr << "warning: " << s << endl;
-}
-
-void
-Parser::warning(const string& s)
-{
- warning(s.c_str());
-}
-
-int
-Parser::parse(FILE* file, bool debug)
-{
- yydebug = debug ? 1 : 0;
-
- assert(!parser);
- parser = this;
-
- _errors = 0;
- _commands.empty();
- yyin = file;
- assert(yyin);
-
- _continue = false;
-
- int status = yyparse();
- if(_errors)
- {
- status = EXIT_FAILURE;
- }
-
- parser = 0;
- return status;
-}
-
-int
-Parser::parse(const std::string& commands, bool debug)
-{
- yydebug = debug ? 1 : 0;
-
- assert(!parser);
- parser = this;
-
- _errors = 0;
- _commands = commands;
- assert(!_commands.empty());
- yyin = 0;
-
- _continue = false;
-
- int status = yyparse();
- if(_errors)
- {
- status = EXIT_FAILURE;
- }
-
- parser = 0;
- return status;
-}
-
-Parser::Parser(const CommunicatorPtr& communicator,
- const AdminSessionPrx& session,
- const AdminPrx& admin,
- bool interactive) :
- _communicator(communicator),
- _session(session),
- _admin(admin),
- _interrupted(false),
- _interactive(interactive)
-{
- for(int i = 0; _commandsHelp[i][0]; i++)
- {
- const string category = _commandsHelp[i][0];
- const string cmd = _commandsHelp[i][1];
- const string help = _commandsHelp[i][2];
- _helpCommands[category][""] += help;
- _helpCommands[category][cmd] += help;
- }
-
-#ifdef _WIN32
- if(!windowsConsoleConverter)
- {
- windowsConsoleConverter = Ice::createWindowsStringConverter(GetConsoleOutputCP());
- }
-#endif
-}
-
-void
-Parser::exception(const Ice::Exception& ex)
-{
- try
- {
- ex.ice_throw();
- }
- catch(const ApplicationNotExistException& ex)
- {
- error("couldn't find application `" + ex.name + "'");
- }
- catch(const NodeNotExistException& ex)
- {
- error("couldn't find node `" + ex.name + "'");
- }
- catch(const RegistryNotExistException& ex)
- {
- error("couldn't find registry `" + ex.name + "'");
- }
- catch(const ServerNotExistException& ex)
- {
- error("couldn't find server `" + ex.id + "'");
- }
- catch(const AdapterNotExistException& ex)
- {
- error("couldn't find adapter `" + ex.id + "'");
- }
- catch(const ObjectNotRegisteredException& ex)
- {
- error("couldn't find object `" + _communicator->identityToString(ex.id) + "'");
- }
- catch(const ObjectExistsException& ex)
- {
- error("object `" + _communicator->identityToString(ex.id) + "' already exists");
- }
- catch(const DeploymentException& ex)
- {
- ostringstream s;
- s << ex << ":\n" << ex.reason;
- error(s.str());
- }
- catch(const PatchException& ex)
- {
- error(patchFailed(ex.reasons));
- }
- catch(const BadSignalException& ex)
- {
- ostringstream s;
- s << ex.reason;
- error(s.str());
- }
- catch(const NodeUnreachableException& ex)
- {
- error("node `" + ex.name + "' couldn't be reached:\n" + ex.reason);
- }
- catch(const RegistryUnreachableException& ex)
- {
- error("registry `" + ex.name + "' couldn't be reached:\n" + ex.reason);
- }
- catch(const ServerUnreachableException& ex)
- {
- error("server `" + ex.name + "' couldn't be reached:\n" + ex.reason);
- }
- catch(const AccessDeniedException& ex)
- {
- error("couldn't update the registry, the session from `" + ex.lockUserId + "' is updating the registry");
- }
- catch(const FileNotAvailableException& ex)
- {
- error("couldn't access file:\n" + ex.reason);
- }
- catch(const IceXML::ParserException& ex)
- {
- ostringstream s;
- s << ex;
- error(s.str());
- }
- catch(const Ice::LocalException& ex)
- {
- ostringstream s;
- s << "couldn't reach the IceGrid registry:\n" << ex;
- error(s.str());
- }
- catch(const Ice::Exception& ex)
- {
- ostringstream s;
- s << ex;
- error(s.str());
- }
-}
diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h
index 9104cccc57f..45e7fe15df8 100644
--- a/cpp/src/IceGrid/Parser.h
+++ b/cpp/src/IceGrid/Parser.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/PlatformInfo.cpp b/cpp/src/IceGrid/PlatformInfo.cpp
index c64a121176e..f5d425ab8af 100644
--- a/cpp/src/IceGrid/PlatformInfo.cpp
+++ b/cpp/src/IceGrid/PlatformInfo.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/PlatformInfo.h b/cpp/src/IceGrid/PlatformInfo.h
index 04b1012a266..c66d73157c8 100644
--- a/cpp/src/IceGrid/PlatformInfo.h
+++ b/cpp/src/IceGrid/PlatformInfo.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/PluginFacadeI.cpp b/cpp/src/IceGrid/PluginFacadeI.cpp
index f285c85598e..9c43edb7c28 100644
--- a/cpp/src/IceGrid/PluginFacadeI.cpp
+++ b/cpp/src/IceGrid/PluginFacadeI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/PluginFacadeI.h b/cpp/src/IceGrid/PluginFacadeI.h
index 0af98df65ca..c31dd1a4b6f 100644
--- a/cpp/src/IceGrid/PluginFacadeI.h
+++ b/cpp/src/IceGrid/PluginFacadeI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/QueryI.cpp b/cpp/src/IceGrid/QueryI.cpp
index 713b197c36c..4225cfa3d17 100644
--- a/cpp/src/IceGrid/QueryI.cpp
+++ b/cpp/src/IceGrid/QueryI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/QueryI.h b/cpp/src/IceGrid/QueryI.h
index e675f19d344..76a920107b0 100644
--- a/cpp/src/IceGrid/QueryI.h
+++ b/cpp/src/IceGrid/QueryI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReapThread.cpp b/cpp/src/IceGrid/ReapThread.cpp
index a2994808faf..3da61cce70b 100644
--- a/cpp/src/IceGrid/ReapThread.cpp
+++ b/cpp/src/IceGrid/ReapThread.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReapThread.h b/cpp/src/IceGrid/ReapThread.h
index 2c5cae00cab..2174a2dbb8b 100644
--- a/cpp/src/IceGrid/ReapThread.h
+++ b/cpp/src/IceGrid/ReapThread.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/RegistryAdminRouter.cpp b/cpp/src/IceGrid/RegistryAdminRouter.cpp
index 2edbf27005d..294d802507e 100644
--- a/cpp/src/IceGrid/RegistryAdminRouter.cpp
+++ b/cpp/src/IceGrid/RegistryAdminRouter.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/RegistryAdminRouter.h b/cpp/src/IceGrid/RegistryAdminRouter.h
index 244cf4170ca..7030f7c8ed2 100644
--- a/cpp/src/IceGrid/RegistryAdminRouter.h
+++ b/cpp/src/IceGrid/RegistryAdminRouter.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/RegistryI.cpp b/cpp/src/IceGrid/RegistryI.cpp
index 5f3de89880c..09c81d5a40f 100644
--- a/cpp/src/IceGrid/RegistryI.cpp
+++ b/cpp/src/IceGrid/RegistryI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/RegistryI.h b/cpp/src/IceGrid/RegistryI.h
index 8fa74eb3938..e4e8d436893 100644
--- a/cpp/src/IceGrid/RegistryI.h
+++ b/cpp/src/IceGrid/RegistryI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaCache.cpp b/cpp/src/IceGrid/ReplicaCache.cpp
index 117c6775ee7..d7e183da212 100644
--- a/cpp/src/IceGrid/ReplicaCache.cpp
+++ b/cpp/src/IceGrid/ReplicaCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaCache.h b/cpp/src/IceGrid/ReplicaCache.h
index 8a4aadccbcf..8cbc31c0918 100644
--- a/cpp/src/IceGrid/ReplicaCache.h
+++ b/cpp/src/IceGrid/ReplicaCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaSessionI.cpp b/cpp/src/IceGrid/ReplicaSessionI.cpp
index acb3f2e56d2..70d90c307fe 100644
--- a/cpp/src/IceGrid/ReplicaSessionI.cpp
+++ b/cpp/src/IceGrid/ReplicaSessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaSessionI.h b/cpp/src/IceGrid/ReplicaSessionI.h
index a2a191bff04..579a30d29d3 100644
--- a/cpp/src/IceGrid/ReplicaSessionI.h
+++ b/cpp/src/IceGrid/ReplicaSessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaSessionManager.cpp b/cpp/src/IceGrid/ReplicaSessionManager.cpp
index dfc55e299bd..d42a0bbbed7 100644
--- a/cpp/src/IceGrid/ReplicaSessionManager.cpp
+++ b/cpp/src/IceGrid/ReplicaSessionManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ReplicaSessionManager.h b/cpp/src/IceGrid/ReplicaSessionManager.h
index c188d1adb14..78d88f70b6a 100644
--- a/cpp/src/IceGrid/ReplicaSessionManager.h
+++ b/cpp/src/IceGrid/ReplicaSessionManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Scanner.cpp b/cpp/src/IceGrid/Scanner.cpp
index 7424fb48374..860914b9389 100644
--- a/cpp/src/IceGrid/Scanner.cpp
+++ b/cpp/src/IceGrid/Scanner.cpp
@@ -478,7 +478,7 @@ char *yytext;
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Scanner.l b/cpp/src/IceGrid/Scanner.l
index f8ef6731fc8..9985c210db9 100644
--- a/cpp/src/IceGrid/Scanner.l
+++ b/cpp/src/IceGrid/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerAdapterI.cpp b/cpp/src/IceGrid/ServerAdapterI.cpp
index f1551681e13..d01a824c80d 100644
--- a/cpp/src/IceGrid/ServerAdapterI.cpp
+++ b/cpp/src/IceGrid/ServerAdapterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerAdapterI.h b/cpp/src/IceGrid/ServerAdapterI.h
index 476960a604c..aaa39078a0a 100644
--- a/cpp/src/IceGrid/ServerAdapterI.h
+++ b/cpp/src/IceGrid/ServerAdapterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerCache.cpp b/cpp/src/IceGrid/ServerCache.cpp
index bafafa42553..7051f608430 100644
--- a/cpp/src/IceGrid/ServerCache.cpp
+++ b/cpp/src/IceGrid/ServerCache.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerCache.h b/cpp/src/IceGrid/ServerCache.h
index 8379fe4f8c3..f73039e2f08 100644
--- a/cpp/src/IceGrid/ServerCache.h
+++ b/cpp/src/IceGrid/ServerCache.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index 891241ebe2f..c74f85af73b 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/ServerI.h b/cpp/src/IceGrid/ServerI.h
index d2fc8ccc28b..7dcde8608c8 100644
--- a/cpp/src/IceGrid/ServerI.h
+++ b/cpp/src/IceGrid/ServerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionI.cpp b/cpp/src/IceGrid/SessionI.cpp
index 5b018a5dfe9..4cecfef3bf2 100644
--- a/cpp/src/IceGrid/SessionI.cpp
+++ b/cpp/src/IceGrid/SessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionI.h b/cpp/src/IceGrid/SessionI.h
index 2eac4117fa2..9cd627ffc24 100644
--- a/cpp/src/IceGrid/SessionI.h
+++ b/cpp/src/IceGrid/SessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionManager.cpp b/cpp/src/IceGrid/SessionManager.cpp
index 1aa2701574e..f7908fe3ec9 100644
--- a/cpp/src/IceGrid/SessionManager.cpp
+++ b/cpp/src/IceGrid/SessionManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionManager.h b/cpp/src/IceGrid/SessionManager.h
index 1853e3b4a62..21f2cd5b524 100644
--- a/cpp/src/IceGrid/SessionManager.h
+++ b/cpp/src/IceGrid/SessionManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionServantManager.cpp b/cpp/src/IceGrid/SessionServantManager.cpp
index 70b0d004e98..066d39d589e 100644
--- a/cpp/src/IceGrid/SessionServantManager.cpp
+++ b/cpp/src/IceGrid/SessionServantManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/SessionServantManager.h b/cpp/src/IceGrid/SessionServantManager.h
index 15ca8e0af32..45004d0b4fe 100644
--- a/cpp/src/IceGrid/SessionServantManager.h
+++ b/cpp/src/IceGrid/SessionServantManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Topics.cpp b/cpp/src/IceGrid/Topics.cpp
index 140c2673140..568e753f16d 100644
--- a/cpp/src/IceGrid/Topics.cpp
+++ b/cpp/src/IceGrid/Topics.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Topics.h b/cpp/src/IceGrid/Topics.h
index 44affbacec3..a17fcc0005e 100644
--- a/cpp/src/IceGrid/Topics.h
+++ b/cpp/src/IceGrid/Topics.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/TraceLevels.cpp b/cpp/src/IceGrid/TraceLevels.cpp
index bf227a2d5a7..86b4b913e2d 100644
--- a/cpp/src/IceGrid/TraceLevels.cpp
+++ b/cpp/src/IceGrid/TraceLevels.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/TraceLevels.h b/cpp/src/IceGrid/TraceLevels.h
index 399f423b0cc..5a35dcf78af 100644
--- a/cpp/src/IceGrid/TraceLevels.h
+++ b/cpp/src/IceGrid/TraceLevels.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Util.cpp b/cpp/src/IceGrid/Util.cpp
index c56e30717c0..aa88d4a54f5 100644
--- a/cpp/src/IceGrid/Util.cpp
+++ b/cpp/src/IceGrid/Util.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/Util.h b/cpp/src/IceGrid/Util.h
index 75e6be83dab..2bf1cff7f90 100644
--- a/cpp/src/IceGrid/Util.h
+++ b/cpp/src/IceGrid/Util.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/WaitQueue.cpp b/cpp/src/IceGrid/WaitQueue.cpp
index 802fcd3674a..a0f6812f1be 100644
--- a/cpp/src/IceGrid/WaitQueue.cpp
+++ b/cpp/src/IceGrid/WaitQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/WaitQueue.h b/cpp/src/IceGrid/WaitQueue.h
index 42559ea0185..000b717318e 100644
--- a/cpp/src/IceGrid/WaitQueue.h
+++ b/cpp/src/IceGrid/WaitQueue.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/WellKnownObjectsManager.cpp b/cpp/src/IceGrid/WellKnownObjectsManager.cpp
index 20974539dd0..391a2be3b82 100644
--- a/cpp/src/IceGrid/WellKnownObjectsManager.cpp
+++ b/cpp/src/IceGrid/WellKnownObjectsManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGrid/WellKnownObjectsManager.h b/cpp/src/IceGrid/WellKnownObjectsManager.h
index aa9be0e8509..38d8006c938 100644
--- a/cpp/src/IceGrid/WellKnownObjectsManager.h
+++ b/cpp/src/IceGrid/WellKnownObjectsManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceGridLib/PluginFacadeI.cpp b/cpp/src/IceGridLib/PluginFacadeI.cpp
index f84f33dff0b..381e4fd8eb3 100644
--- a/cpp/src/IceGridLib/PluginFacadeI.cpp
+++ b/cpp/src/IceGridLib/PluginFacadeI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceLocatorDiscovery/PluginI.cpp b/cpp/src/IceLocatorDiscovery/PluginI.cpp
index 366f2a9a485..d68d4eacf34 100644
--- a/cpp/src/IceLocatorDiscovery/PluginI.cpp
+++ b/cpp/src/IceLocatorDiscovery/PluginI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceLocatorDiscovery/PluginI.h b/cpp/src/IceLocatorDiscovery/PluginI.h
index d882f3f3690..c87b6a9b438 100644
--- a/cpp/src/IceLocatorDiscovery/PluginI.h
+++ b/cpp/src/IceLocatorDiscovery/PluginI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp
index cd63e6c37af..073d4f7dc06 100644
--- a/cpp/src/IcePatch2/Calc.cpp
+++ b/cpp/src/IcePatch2/Calc.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2/Client.cpp b/cpp/src/IcePatch2/Client.cpp
index 294708b3348..4f5f7503e08 100644
--- a/cpp/src/IcePatch2/Client.cpp
+++ b/cpp/src/IcePatch2/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2/FileServerI.cpp b/cpp/src/IcePatch2/FileServerI.cpp
index c279b5d2067..8170c51df1f 100644
--- a/cpp/src/IcePatch2/FileServerI.cpp
+++ b/cpp/src/IcePatch2/FileServerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2/FileServerI.h b/cpp/src/IcePatch2/FileServerI.h
index 0a1b45c6a2e..ac7ec80c51c 100644
--- a/cpp/src/IcePatch2/FileServerI.h
+++ b/cpp/src/IcePatch2/FileServerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2/Server.cpp b/cpp/src/IcePatch2/Server.cpp
index b559a091796..a3e29e83555 100644
--- a/cpp/src/IcePatch2/Server.cpp
+++ b/cpp/src/IcePatch2/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2Lib/ClientUtil.cpp b/cpp/src/IcePatch2Lib/ClientUtil.cpp
index 66d315f8a6b..8551234b666 100644
--- a/cpp/src/IcePatch2Lib/ClientUtil.cpp
+++ b/cpp/src/IcePatch2Lib/ClientUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2Lib/Util.cpp b/cpp/src/IcePatch2Lib/Util.cpp
index 27612badf9d..63aa2583532 100644
--- a/cpp/src/IcePatch2Lib/Util.cpp
+++ b/cpp/src/IcePatch2Lib/Util.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IcePatch2Lib/Util.h b/cpp/src/IcePatch2Lib/Util.h
index 4263c87a444..0c64c8b4164 100644
--- a/cpp/src/IcePatch2Lib/Util.h
+++ b/cpp/src/IcePatch2Lib/Util.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp
index ee8a05c4725..3e262519590 100644
--- a/cpp/src/IceSSL/AcceptorI.cpp
+++ b/cpp/src/IceSSL/AcceptorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/AcceptorI.h b/cpp/src/IceSSL/AcceptorI.h
index b71ef8ee46c..f9b5368422c 100644
--- a/cpp/src/IceSSL/AcceptorI.h
+++ b/cpp/src/IceSSL/AcceptorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/Certificate.cpp b/cpp/src/IceSSL/Certificate.cpp
index dfa32bd272b..9605102bb72 100755
--- a/cpp/src/IceSSL/Certificate.cpp
+++ b/cpp/src/IceSSL/Certificate.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/ConnectorI.cpp b/cpp/src/IceSSL/ConnectorI.cpp
index 67f6f082e1c..019a1a4e08c 100644
--- a/cpp/src/IceSSL/ConnectorI.cpp
+++ b/cpp/src/IceSSL/ConnectorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/ConnectorI.h b/cpp/src/IceSSL/ConnectorI.h
index 5334547e56a..f6f6a484cc7 100644
--- a/cpp/src/IceSSL/ConnectorI.h
+++ b/cpp/src/IceSSL/ConnectorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index 73072ddea7a..972c220b7dd 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h
index 4876a32e640..f75194ea640 100644
--- a/cpp/src/IceSSL/EndpointI.h
+++ b/cpp/src/IceSSL/EndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/Instance.cpp b/cpp/src/IceSSL/Instance.cpp
index e37ab14a967..9e92eb9340a 100644
--- a/cpp/src/IceSSL/Instance.cpp
+++ b/cpp/src/IceSSL/Instance.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/Instance.h b/cpp/src/IceSSL/Instance.h
index d9a25482eb0..7b564970f7e 100644
--- a/cpp/src/IceSSL/Instance.h
+++ b/cpp/src/IceSSL/Instance.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/InstanceF.h b/cpp/src/IceSSL/InstanceF.h
index 22ae1cf68e9..10175e7f1c9 100644
--- a/cpp/src/IceSSL/InstanceF.h
+++ b/cpp/src/IceSSL/InstanceF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/OpenSSLEngine.cpp b/cpp/src/IceSSL/OpenSSLEngine.cpp
index 25320a03a8a..884271deade 100644
--- a/cpp/src/IceSSL/OpenSSLEngine.cpp
+++ b/cpp/src/IceSSL/OpenSSLEngine.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
index a1e61c81535..a879aed7387 100644
--- a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
+++ b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.h b/cpp/src/IceSSL/OpenSSLTransceiverI.h
index 539c531355f..253f43cd1e1 100644
--- a/cpp/src/IceSSL/OpenSSLTransceiverI.h
+++ b/cpp/src/IceSSL/OpenSSLTransceiverI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/PluginI.cpp b/cpp/src/IceSSL/PluginI.cpp
index 1e9234c5bf5..1dcb535cce8 100755
--- a/cpp/src/IceSSL/PluginI.cpp
+++ b/cpp/src/IceSSL/PluginI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/PluginI.h b/cpp/src/IceSSL/PluginI.h
index 8cc3045859d..f3b49ec7917 100644
--- a/cpp/src/IceSSL/PluginI.h
+++ b/cpp/src/IceSSL/PluginI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/RFC2253.cpp b/cpp/src/IceSSL/RFC2253.cpp
index b6b44c7fa25..5c81a055981 100644
--- a/cpp/src/IceSSL/RFC2253.cpp
+++ b/cpp/src/IceSSL/RFC2253.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/RFC2253.h b/cpp/src/IceSSL/RFC2253.h
index bcaa431b370..87800521b55 100644
--- a/cpp/src/IceSSL/RFC2253.h
+++ b/cpp/src/IceSSL/RFC2253.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SChannelEngine.cpp b/cpp/src/IceSSL/SChannelEngine.cpp
index fd99646b27e..37bd41b2ff0 100644
--- a/cpp/src/IceSSL/SChannelEngine.cpp
+++ b/cpp/src/IceSSL/SChannelEngine.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SChannelTransceiverI.cpp b/cpp/src/IceSSL/SChannelTransceiverI.cpp
index 794fa5e850a..cda56514af7 100644
--- a/cpp/src/IceSSL/SChannelTransceiverI.cpp
+++ b/cpp/src/IceSSL/SChannelTransceiverI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SChannelTransceiverI.h b/cpp/src/IceSSL/SChannelTransceiverI.h
index c70ade9a7e5..91f0d7b5005 100644
--- a/cpp/src/IceSSL/SChannelTransceiverI.h
+++ b/cpp/src/IceSSL/SChannelTransceiverI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SSLEngine.cpp b/cpp/src/IceSSL/SSLEngine.cpp
index 4f8f927495f..2bc0b574627 100644
--- a/cpp/src/IceSSL/SSLEngine.cpp
+++ b/cpp/src/IceSSL/SSLEngine.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SSLEngine.h b/cpp/src/IceSSL/SSLEngine.h
index fddd138cc6f..cbf8d90983f 100644
--- a/cpp/src/IceSSL/SSLEngine.h
+++ b/cpp/src/IceSSL/SSLEngine.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SSLEngineF.h b/cpp/src/IceSSL/SSLEngineF.h
index 70a75e74edb..7ff7e9f6ada 100644
--- a/cpp/src/IceSSL/SSLEngineF.h
+++ b/cpp/src/IceSSL/SSLEngineF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SecureTransportEngine.cpp b/cpp/src/IceSSL/SecureTransportEngine.cpp
index cc7e80503d0..03664becba8 100644
--- a/cpp/src/IceSSL/SecureTransportEngine.cpp
+++ b/cpp/src/IceSSL/SecureTransportEngine.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp
index fabb02eb75c..020d3c30e39 100644
--- a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp
+++ b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/SecureTransportTransceiverI.h b/cpp/src/IceSSL/SecureTransportTransceiverI.h
index 1c5cd8a84e9..a8efd21dff8 100644
--- a/cpp/src/IceSSL/SecureTransportTransceiverI.h
+++ b/cpp/src/IceSSL/SecureTransportTransceiverI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/TrustManager.cpp b/cpp/src/IceSSL/TrustManager.cpp
index 31b42291db3..7e57b50db8a 100644
--- a/cpp/src/IceSSL/TrustManager.cpp
+++ b/cpp/src/IceSSL/TrustManager.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/TrustManager.h b/cpp/src/IceSSL/TrustManager.h
index a99363baf05..1c0fffd00e6 100644
--- a/cpp/src/IceSSL/TrustManager.h
+++ b/cpp/src/IceSSL/TrustManager.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/TrustManagerF.h b/cpp/src/IceSSL/TrustManagerF.h
index 9670aa060e2..3019620f56c 100644
--- a/cpp/src/IceSSL/TrustManagerF.h
+++ b/cpp/src/IceSSL/TrustManagerF.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp
index eb6719ee21d..52cd3c5144c 100755
--- a/cpp/src/IceSSL/Util.cpp
+++ b/cpp/src/IceSSL/Util.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceSSL/Util.h b/cpp/src/IceSSL/Util.h
index b52c4a524d5..68eb50499b4 100644
--- a/cpp/src/IceSSL/Util.h
+++ b/cpp/src/IceSSL/Util.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Admin.cpp b/cpp/src/IceStorm/Admin.cpp
index bbbeace543a..ed8c119d45b 100644
--- a/cpp/src/IceStorm/Admin.cpp
+++ b/cpp/src/IceStorm/Admin.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/DBTypes.ice b/cpp/src/IceStorm/DBTypes.ice
index 582155d8b2f..7975bb0ed1d 100644
--- a/cpp/src/IceStorm/DBTypes.ice
+++ b/cpp/src/IceStorm/DBTypes.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Election.ice b/cpp/src/IceStorm/Election.ice
index 96343e4559d..ef2b2abc470 100644
--- a/cpp/src/IceStorm/Election.ice
+++ b/cpp/src/IceStorm/Election.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Grammar.cpp b/cpp/src/IceStorm/Grammar.cpp
index ce99bde548b..02fb3e8c4ca 100644
--- a/cpp/src/IceStorm/Grammar.cpp
+++ b/cpp/src/IceStorm/Grammar.cpp
@@ -73,7 +73,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Grammar.y b/cpp/src/IceStorm/Grammar.y
index d21eabcd354..9caffabd619 100644
--- a/cpp/src/IceStorm/Grammar.y
+++ b/cpp/src/IceStorm/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/IceStormDB.cpp b/cpp/src/IceStorm/IceStormDB.cpp
index dbf23aaf62c..b5f9587e8b3 100644
--- a/cpp/src/IceStorm/IceStormDB.cpp
+++ b/cpp/src/IceStorm/IceStormDB.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/IceStormInternal.ice b/cpp/src/IceStorm/IceStormInternal.ice
index 009e4a29876..dfe00bdecae 100644
--- a/cpp/src/IceStorm/IceStormInternal.ice
+++ b/cpp/src/IceStorm/IceStormInternal.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Instance.cpp b/cpp/src/IceStorm/Instance.cpp
index 68d43558e93..1b4fd57ac17 100644
--- a/cpp/src/IceStorm/Instance.cpp
+++ b/cpp/src/IceStorm/Instance.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Instance.h b/cpp/src/IceStorm/Instance.h
index 759ca8dee88..7007998a650 100644
--- a/cpp/src/IceStorm/Instance.h
+++ b/cpp/src/IceStorm/Instance.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Instrumentation.ice b/cpp/src/IceStorm/Instrumentation.ice
index 2c488805b54..222de72f715 100644
--- a/cpp/src/IceStorm/Instrumentation.ice
+++ b/cpp/src/IceStorm/Instrumentation.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/InstrumentationI.cpp b/cpp/src/IceStorm/InstrumentationI.cpp
index 017a5196fd3..7d69eb2bc85 100644
--- a/cpp/src/IceStorm/InstrumentationI.cpp
+++ b/cpp/src/IceStorm/InstrumentationI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/InstrumentationI.h b/cpp/src/IceStorm/InstrumentationI.h
index 9bdb92cb493..a8857344db4 100644
--- a/cpp/src/IceStorm/InstrumentationI.h
+++ b/cpp/src/IceStorm/InstrumentationI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/LLURecord.ice b/cpp/src/IceStorm/LLURecord.ice
index 2ec7a4eaf46..e8e24f0d4fc 100644
--- a/cpp/src/IceStorm/LLURecord.ice
+++ b/cpp/src/IceStorm/LLURecord.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/LinkRecord.ice b/cpp/src/IceStorm/LinkRecord.ice
index f4a9a3ad615..ec73c5146f1 100644
--- a/cpp/src/IceStorm/LinkRecord.ice
+++ b/cpp/src/IceStorm/LinkRecord.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/NodeI.cpp b/cpp/src/IceStorm/NodeI.cpp
index 098b5167e04..0994fa6a1e0 100644
--- a/cpp/src/IceStorm/NodeI.cpp
+++ b/cpp/src/IceStorm/NodeI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/NodeI.h b/cpp/src/IceStorm/NodeI.h
index 9086917ae53..24fd540d223 100644
--- a/cpp/src/IceStorm/NodeI.h
+++ b/cpp/src/IceStorm/NodeI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Observers.cpp b/cpp/src/IceStorm/Observers.cpp
index 06ea3135481..d63f849129d 100644
--- a/cpp/src/IceStorm/Observers.cpp
+++ b/cpp/src/IceStorm/Observers.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Observers.h b/cpp/src/IceStorm/Observers.h
index 83f67adc45b..5b98ae3fcd7 100644
--- a/cpp/src/IceStorm/Observers.h
+++ b/cpp/src/IceStorm/Observers.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Parser.cpp b/cpp/src/IceStorm/Parser.cpp
deleted file mode 100644
index dd7fd961e33..00000000000
--- a/cpp/src/IceStorm/Parser.cpp
+++ /dev/null
@@ -1,732 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2016 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 <IceUtil/DisableWarnings.h>
-#include <Ice/Ice.h>
-#include <Ice/ConsoleUtil.h>
-#include <IceStorm/Parser.h>
-#include <IceStorm/IceStormInternal.h>
-#include <algorithm>
-
-#ifdef HAVE_READLINE
-# include <readline/readline.h>
-# include <readline/history.h>
-#endif
-
-extern FILE* yyin;
-extern int yydebug;
-
-using namespace std;
-using namespace Ice;
-using namespace IceInternal;
-using namespace IceStorm;
-
-namespace IceStorm
-{
-
-Parser* parser;
-
-#ifdef _WIN32
-Ice::StringConverterPtr windowsConsoleConverter = 0;
-#endif
-
-}
-
-namespace
-{
-
-class UnknownManagerException : public Exception
-{
-public:
-
- UnknownManagerException(const string& name, const char* file, int line) :
- Exception(file, line),
- name(name)
- {
- }
-
-#ifndef ICE_CPP11_COMPILER
- virtual
- ~UnknownManagerException() throw()
- {
- }
-#endif
-
- virtual string
- ice_id() const
- {
- return "::UnknownManagerException";
- }
-
- virtual Exception*
- ice_clone() const
- {
- return new UnknownManagerException(*this);
- }
-
- virtual void
- ice_throw() const
- {
- throw *this;
- }
-
- const string name;
-};
-
-}
-
-ParserPtr
-Parser::createParser(const CommunicatorPtr& communicator, const TopicManagerPrx& admin,
- const map<Ice::Identity, TopicManagerPrx>& managers)
-{
- return new Parser(communicator, admin, managers);
-}
-
-void
-Parser::usage()
-{
- consoleOut <<
- "help Print this message.\n"
- "exit, quit Exit this program.\n"
- "create TOPICS Add TOPICS.\n"
- "destroy TOPICS Remove TOPICS.\n"
- "link FROM TO [COST] Link FROM to TO with the optional given COST.\n"
- "unlink FROM TO Unlink TO from FROM.\n"
- "links [INSTANCE-NAME] Display all links for the topics in the current topic\n"
- " manager, or in the given INSTANCE-NAME.\n"
- "topics [INSTANCE-NAME] Display the names of all topics in the current topic\n"
- " manager, or in the given INSTANCE-NAME.\n"
- "current [INSTANCE-NAME] Display the current topic manager, or change it to\n"
- " INSTANCE-NAME.\n"
- "replica [INSTANCE-NAME] Display replication information for the given INSTANCE-NAME.\n"
- "subscribers TOPICS List TOPICS subscribers.\n"
- ;
-}
-
-void
-Parser::create(const list<string>& args)
-{
- if(args.empty())
- {
- error("`create' requires at least one argument (type `help' for more info)");
- return;
- }
-
- for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i)
- {
- try
- {
- string topicName;
- TopicManagerPrx manager = findManagerById(*i, topicName);
- manager->create(topicName);
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex, args.size() > 1); // Print a warning if we're creating multiple topics, an error otherwise.
- }
- }
-}
-
-void
-Parser::destroy(const list<string>& args)
-{
- if(args.empty())
- {
- error("`destroy' requires at least one argument (type `help' for more info)");
- return;
- }
-
- for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i)
- {
- try
- {
- findTopic(*i)->destroy();
- }
- catch(const Ice::Exception& ex)
- {
- exception(ex, args.size() > 1); // Print a warning if we're destroying multiple topics, an error otherwise.
- }
- }
-}
-
-void
-Parser::link(const list<string>& args)
-{
- if(args.size() != 2 && args.size() != 3)
- {
- error("`link' requires two or three arguments (type `help' for more info)");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- TopicPrx fromTopic = findTopic(*p++);
- TopicPrx toTopic = findTopic(*p++);
- Ice::Int cost = p != args.end() ? atoi(p->c_str()) : 0;
-
- fromTopic->link(toTopic, cost);
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::unlink(const list<string>& args)
-{
- if(args.size() != 2)
- {
- error("`unlink' requires exactly two arguments (type `help' for more info)");
- return;
- }
-
- try
- {
- list<string>::const_iterator p = args.begin();
-
- TopicPrx fromTopic = findTopic(*p++);
- TopicPrx toTopic = findTopic(*p++);
-
- fromTopic->unlink(toTopic);
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::links(const list<string>& args)
-{
- if(args.size() > 1)
- {
- error("`links' requires at most one argument (type `help' for more info)");
- return;
- }
-
- try
- {
- TopicManagerPrx manager;
- if(args.size() == 0)
- {
- manager = _defaultManager;
- }
- else
- {
- manager = findManagerByCategory(args.front());
- }
-
- TopicDict d = manager->retrieveAll();
- for(TopicDict::iterator i = d.begin(); i != d.end(); ++i)
- {
- LinkInfoSeq links = i->second->getLinkInfoSeq();
- for(LinkInfoSeq::const_iterator p = links.begin(); p != links.end(); ++p)
- {
- consoleOut << i->first << " to " << p->name << " with cost " << p->cost << endl;
- }
- }
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::topics(const list<string>& args)
-{
- if(args.size() > 1)
- {
- error("`topics' requires at most one argument (type `help' for more info)");
- return;
- }
-
- try
- {
- TopicManagerPrx manager;
- if(args.size() == 0)
- {
- manager = _defaultManager;
- }
- else
- {
- manager = findManagerByCategory(args.front());
- }
-
- TopicDict d = manager->retrieveAll();
- for(TopicDict::iterator i = d.begin(); i != d.end(); ++i)
- {
- consoleOut << i->first << endl;
- }
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::replica(const list<string>& args)
-{
- if(args.size() > 1)
- {
- error("`replica' requires at most one argument (type `help' for more info)");
- return;
- }
-
- try
- {
- TopicManagerPrx m;
- if(args.size() == 0)
- {
- m = _defaultManager;
- }
- else
- {
- m = findManagerByCategory(args.front());
- }
- TopicManagerInternalPrx manager = TopicManagerInternalPrx::uncheckedCast(m);
- IceStormElection::NodePrx node = manager->getReplicaNode();
- if(!node)
- {
- error("This topic is not replicated");
- }
- IceStormElection::NodeInfoSeq nodes = node->nodes();
- consoleOut << "replica count: " << nodes.size() << endl;
- for(IceStormElection::NodeInfoSeq::const_iterator p = nodes.begin(); p != nodes.end(); ++p)
- {
- try
- {
- IceStormElection::QueryInfo info = p->n->query();
- consoleOut << p->id << ": id: " << info.id << endl;
- consoleOut << p->id << ": coord: " << info.coord << endl;
- consoleOut << p->id << ": group name: " << info.group << endl;
- consoleOut << p->id << ": state: ";
- switch(info.state)
- {
- case IceStormElection::NodeStateInactive:
- consoleOut << "inactive";
- break;
- case IceStormElection::NodeStateElection:
- consoleOut << "election";
- break;
- case IceStormElection::NodeStateReorganization:
- consoleOut << "reorganization";
- break;
- case IceStormElection::NodeStateNormal:
- consoleOut << "normal";
- break;
- default:
- consoleOut << "unknown";
- }
- consoleOut << endl;
- consoleOut << p->id << ": group: ";
- for(IceStormElection::GroupInfoSeq::const_iterator q = info.up.begin(); q != info.up.end(); ++q)
- {
- if(q != info.up.begin())
- {
- consoleOut << ",";
- }
- consoleOut << q->id;
- }
- consoleOut << endl;
- consoleOut << p->id << ": max: " << info.max
- << endl;
- }
- catch(const Exception& ex)
- {
- consoleOut << p->id << ": " << ex.ice_id() << endl;
- }
- }
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::subscribers(const list<string>& args)
-{
- if(args.empty())
- {
- error("subscribers' requires at least one argument (type `help' for more info) ");
- return;
- }
- try
- {
- for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i)
- {
- TopicPrx topic = _defaultManager->retrieve(*i);
- consoleOut << (*i) << ": subscribers:" << endl;
- IdentitySeq subscribers = topic->getSubscribers();
- for(IdentitySeq::const_iterator j = subscribers.begin(); j != subscribers.end(); ++j)
- {
- consoleOut << "\t" << _communicator->identityToString(*j) << endl;
- }
- }
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::current(const list<string>& args)
-{
- if(args.empty())
- {
- consoleOut << _communicator->identityToString(_defaultManager->ice_getIdentity()) << endl;
- return;
- }
- else if(args.size() > 1)
- {
- error("`current' requires at most one argument (type `help' for more info)");
- return;
- }
-
- try
- {
- TopicManagerPrx manager = findManagerByCategory(args.front());
- manager->ice_ping();
- _defaultManager = manager;
- }
- catch(const Exception& ex)
- {
- exception(ex);
- }
-}
-
-void
-Parser::showBanner()
-{
- consoleOut << "Ice " << ICE_STRING_VERSION << " Copyright (c) 2003-2016 ZeroC, Inc." << endl;
-}
-
-//
-// With older flex version <= 2.5.35 YY_INPUT second
-// paramenter is of type int&, in newer versions it
-// changes to size_t&
-//
-void
-Parser::getInput(char* buf, int& result, size_t maxSize)
-{
- size_t r = static_cast<size_t>(result);
- getInput(buf, r, maxSize);
- result = static_cast<int>(r);
-}
-
-void
-Parser::getInput(char* buf, size_t& result, size_t maxSize)
-{
- if(!_commands.empty())
- {
- if(_commands == ";")
- {
- result = 0;
- }
- else
- {
- result = min(maxSize, _commands.length());
- strncpy(buf, _commands.c_str(), result);
- _commands.erase(0, result);
- if(_commands.empty())
- {
- _commands = ";";
- }
- }
- }
- else
- {
-#ifdef HAVE_READLINE
-
- const char* prompt = parser->getPrompt();
- char* line = readline(const_cast<char*>(prompt));
- if(!line)
- {
- result = 0;
- }
- else
- {
- if(*line)
- {
- add_history(line);
- }
-
- result = strlen(line) + 1;
- if(result > maxSize)
- {
- free(line);
- error("input line too long");
- result = 0;
- }
- else
- {
- strcpy(buf, line);
- strcat(buf, "\n");
- free(line);
- }
- }
-
-#else
-
- consoleOut << parser->getPrompt() << flush;
-
- string line;
- while(true)
- {
- char c = static_cast<char>(getc(yyin));
- if(c == EOF)
- {
- if(line.size())
- {
- line += '\n';
- }
- break;
- }
-
- line += c;
- if(c == '\n')
- {
- break;
- }
- }
-#ifdef _WIN32
- if(windowsConsoleConverter)
- {
- line = nativeToUTF8(line, windowsConsoleConverter);
- }
-#endif
- result = line.length();
- if(result > maxSize)
- {
- error("input line too long");
- buf[0] = EOF;
- result = 1;
- }
- else
- {
- strcpy(buf, line.c_str());
- }
-
-#endif
- }
-}
-
-void
-Parser::continueLine()
-{
- _continue = true;
-}
-
-const char*
-Parser::getPrompt()
-{
- assert(_commands.empty());
-
- if(_continue)
- {
- _continue = false;
- return "(cont) ";
- }
- else
- {
- return ">>> ";
- }
-}
-
-void
-Parser::error(const char* s)
-{
- consoleErr << "error: " << s << endl;
- _errors++;
-}
-
-void
-Parser::error(const string& s)
-{
- error(s.c_str());
-}
-
-void
-Parser::warning(const char* s)
-{
- consoleErr << "warning: " << s << endl;
-}
-
-void
-Parser::warning(const string& s)
-{
- warning(s.c_str());
-}
-
-void
-Parser::invalidCommand(const string& s)
-{
- consoleErr << s << endl;
-}
-
-int
-Parser::parse(FILE* file, bool debug)
-{
- yydebug = debug ? 1 : 0;
-
- assert(!parser);
- parser = this;
-
- _errors = 0;
- _commands.empty();
- yyin = file;
- assert(yyin);
-
- _continue = false;
-
- int status = yyparse();
- if(_errors)
- {
- status = EXIT_FAILURE;
- }
-
- parser = 0;
- return status;
-}
-
-int
-Parser::parse(const std::string& commands, bool debug)
-{
- yydebug = debug ? 1 : 0;
-
- assert(!parser);
- parser = this;
-
- _errors = 0;
- _commands = commands;
- assert(!_commands.empty());
- yyin = 0;
-
- _continue = false;
-
- int status = yyparse();
- if(_errors)
- {
- status = EXIT_FAILURE;
- }
-
- parser = 0;
- return status;
-}
-
-TopicManagerPrx
-Parser::findManagerById(const string& full, string& arg) const
-{
- Ice::Identity id = Ice::stringToIdentity(full);
- arg = id.name;
- if(id.category.empty())
- {
- return _defaultManager;
- }
- id.name = "TopicManager";
- map<Ice::Identity, TopicManagerPrx>::const_iterator p = _managers.find(id);
- if(p == _managers.end())
- {
- throw UnknownManagerException(id.category, __FILE__, __LINE__);
- }
- return p->second;
-}
-
-TopicManagerPrx
-Parser::findManagerByCategory(const string& full) const
-{
- Ice::Identity id;
- id.category = full;
- id.name = "TopicManager";
- map<Ice::Identity, TopicManagerPrx>::const_iterator p = _managers.find(id);
- if(p == _managers.end())
- {
- throw UnknownManagerException(id.category, __FILE__, __LINE__);
- }
- return p->second;
-}
-
-TopicPrx
-Parser::findTopic(const string& full) const
-{
- string topicName;
- TopicManagerPrx manager = findManagerById(full, topicName);
- return manager->retrieve(topicName);
-}
-
-Parser::Parser(const CommunicatorPtr& communicator, const TopicManagerPrx& admin,
- const map<Ice::Identity, TopicManagerPrx>& managers) :
- _communicator(communicator),
- _defaultManager(admin),
- _managers(managers)
-{
-#ifdef _WIN32
- if(!windowsConsoleConverter)
- {
- windowsConsoleConverter = Ice::createWindowsStringConverter(GetConsoleOutputCP());
- }
-#endif
-}
-
-void
-Parser::exception(const Ice::Exception& ex, bool warn)
-{
- ostringstream os;
- try
- {
- ex.ice_throw();
- }
- catch(const LinkExists& ex)
- {
- os << "link `" << ex.name << "' already exists";
- }
- catch(const NoSuchLink& ex)
- {
- os << "couldn't find link `" << ex.name << "'";
- }
- catch(const TopicExists& ex)
- {
- os << "topic `" << ex.name << "' exists";
- }
- catch(const NoSuchTopic& ex)
- {
- os << "couldn't find topic `" << ex.name << "'";
- }
- catch(const UnknownManagerException& ex)
- {
- os << "couldn't find IceStorm service `" << ex.name << "'";
- }
- catch(const IdentityParseException& ex)
- {
- os << "invalid identity `" << ex.str << "'";
- }
- catch(const Ice::LocalException& ex)
- {
- os << "couldn't reach IceStorm service:\n" << ex;
- }
- catch(const Ice::Exception& ex)
- {
- os << ex;
- }
-
- if(warn)
- {
- warning(os.str());
- }
- else
- {
- error(os.str());
- }
-}
diff --git a/cpp/src/IceStorm/Parser.h b/cpp/src/IceStorm/Parser.h
index 9e3ffb9f187..225c7df71ad 100644
--- a/cpp/src/IceStorm/Parser.h
+++ b/cpp/src/IceStorm/Parser.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Replica.h b/cpp/src/IceStorm/Replica.h
index eb615a601e3..5c442c30cb1 100644
--- a/cpp/src/IceStorm/Replica.h
+++ b/cpp/src/IceStorm/Replica.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Scanner.cpp b/cpp/src/IceStorm/Scanner.cpp
index d285ed59bbd..c6d3edb283a 100644
--- a/cpp/src/IceStorm/Scanner.cpp
+++ b/cpp/src/IceStorm/Scanner.cpp
@@ -478,7 +478,7 @@ char *yytext;
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Scanner.l b/cpp/src/IceStorm/Scanner.l
index 7f41b953f95..5fdda308c42 100644
--- a/cpp/src/IceStorm/Scanner.l
+++ b/cpp/src/IceStorm/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp
index 011c6faa5da..02b7f6336f5 100644
--- a/cpp/src/IceStorm/Service.cpp
+++ b/cpp/src/IceStorm/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h
index e7ac1081b82..469ec77de1e 100644
--- a/cpp/src/IceStorm/Service.h
+++ b/cpp/src/IceStorm/Service.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Subscriber.cpp b/cpp/src/IceStorm/Subscriber.cpp
index 3beabab0963..bef2c362b6a 100644
--- a/cpp/src/IceStorm/Subscriber.cpp
+++ b/cpp/src/IceStorm/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h
index b7816282727..cd1a80d859b 100644
--- a/cpp/src/IceStorm/Subscriber.h
+++ b/cpp/src/IceStorm/Subscriber.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/SubscriberRecord.ice b/cpp/src/IceStorm/SubscriberRecord.ice
index cfd1bc103a2..d3c143d372b 100644
--- a/cpp/src/IceStorm/SubscriberRecord.ice
+++ b/cpp/src/IceStorm/SubscriberRecord.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index c500dd32ca2..55f52489158 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h
index 17b2050cf92..a643be1b1a4 100644
--- a/cpp/src/IceStorm/TopicI.h
+++ b/cpp/src/IceStorm/TopicI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp
index ef18c5cd476..8e9cfe33de1 100644
--- a/cpp/src/IceStorm/TopicManagerI.cpp
+++ b/cpp/src/IceStorm/TopicManagerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TopicManagerI.h b/cpp/src/IceStorm/TopicManagerI.h
index 43a13ecaf5e..74afb11e150 100644
--- a/cpp/src/IceStorm/TopicManagerI.h
+++ b/cpp/src/IceStorm/TopicManagerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TraceLevels.cpp b/cpp/src/IceStorm/TraceLevels.cpp
index 65b8f669e9b..e4cb0198115 100644
--- a/cpp/src/IceStorm/TraceLevels.cpp
+++ b/cpp/src/IceStorm/TraceLevels.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TraceLevels.h b/cpp/src/IceStorm/TraceLevels.h
index d99ef3202da..22547911aa6 100644
--- a/cpp/src/IceStorm/TraceLevels.h
+++ b/cpp/src/IceStorm/TraceLevels.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TransientTopicI.cpp b/cpp/src/IceStorm/TransientTopicI.cpp
index 062db7014fb..1de6f0f7c70 100644
--- a/cpp/src/IceStorm/TransientTopicI.cpp
+++ b/cpp/src/IceStorm/TransientTopicI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TransientTopicI.h b/cpp/src/IceStorm/TransientTopicI.h
index 7814ae315db..b7ce4c45f78 100644
--- a/cpp/src/IceStorm/TransientTopicI.h
+++ b/cpp/src/IceStorm/TransientTopicI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TransientTopicManagerI.cpp b/cpp/src/IceStorm/TransientTopicManagerI.cpp
index 8c45a471f19..b47ab853a04 100644
--- a/cpp/src/IceStorm/TransientTopicManagerI.cpp
+++ b/cpp/src/IceStorm/TransientTopicManagerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/TransientTopicManagerI.h b/cpp/src/IceStorm/TransientTopicManagerI.h
index b0716e83d98..5827fb3875c 100644
--- a/cpp/src/IceStorm/TransientTopicManagerI.h
+++ b/cpp/src/IceStorm/TransientTopicManagerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Util.cpp b/cpp/src/IceStorm/Util.cpp
index aa320016112..ed592db61ec 100644
--- a/cpp/src/IceStorm/Util.cpp
+++ b/cpp/src/IceStorm/Util.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceStorm/Util.h b/cpp/src/IceStorm/Util.h
index 373ed6b9058..5b2ff1ef642 100644
--- a/cpp/src/IceStorm/Util.h
+++ b/cpp/src/IceStorm/Util.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/ArgVector.h b/cpp/src/IceUtil/ArgVector.h
index 634dec94e63..b25b09f319b 100644
--- a/cpp/src/IceUtil/ArgVector.h
+++ b/cpp/src/IceUtil/ArgVector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/ConvertUTF.cpp b/cpp/src/IceUtil/ConvertUTF.cpp
index 5e0b110542c..aaef9842102 100644
--- a/cpp/src/IceUtil/ConvertUTF.cpp
+++ b/cpp/src/IceUtil/ConvertUTF.cpp
@@ -22,7 +22,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/ConvertUTF.h b/cpp/src/IceUtil/ConvertUTF.h
index b7285b4e0f4..f1a0e9725ac 100644
--- a/cpp/src/IceUtil/ConvertUTF.h
+++ b/cpp/src/IceUtil/ConvertUTF.h
@@ -22,7 +22,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp
index 4fd8fe406fd..85d2186e386 100644
--- a/cpp/src/IceUtil/CtrlCHandler.cpp
+++ b/cpp/src/IceUtil/CtrlCHandler.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/FileUtil.cpp b/cpp/src/IceUtil/FileUtil.cpp
index 8ddef052585..b006013ca97 100644
--- a/cpp/src/IceUtil/FileUtil.cpp
+++ b/cpp/src/IceUtil/FileUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/InputUtil.cpp b/cpp/src/IceUtil/InputUtil.cpp
index 83f3b1c1c2f..38737e2ebed 100644
--- a/cpp/src/IceUtil/InputUtil.cpp
+++ b/cpp/src/IceUtil/InputUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/MutexProtocol.cpp b/cpp/src/IceUtil/MutexProtocol.cpp
index e8911812684..0a1e0ae5288 100644
--- a/cpp/src/IceUtil/MutexProtocol.cpp
+++ b/cpp/src/IceUtil/MutexProtocol.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Options.cpp b/cpp/src/IceUtil/Options.cpp
index 88626de2d9a..a65e8a96887 100644
--- a/cpp/src/IceUtil/Options.cpp
+++ b/cpp/src/IceUtil/Options.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/OutputUtil.cpp b/cpp/src/IceUtil/OutputUtil.cpp
index 587c720aa97..e7e0d043f4f 100644
--- a/cpp/src/IceUtil/OutputUtil.cpp
+++ b/cpp/src/IceUtil/OutputUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Random.cpp b/cpp/src/IceUtil/Random.cpp
index 4756a2a1e1a..e6ea7c66b89 100644
--- a/cpp/src/IceUtil/Random.cpp
+++ b/cpp/src/IceUtil/Random.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp
index 768c09471f0..1a223200d11 100644
--- a/cpp/src/IceUtil/RecMutex.cpp
+++ b/cpp/src/IceUtil/RecMutex.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Shared.cpp b/cpp/src/IceUtil/Shared.cpp
index 75b43462398..0ded9f813c5 100644
--- a/cpp/src/IceUtil/Shared.cpp
+++ b/cpp/src/IceUtil/Shared.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/StringConverter.cpp b/cpp/src/IceUtil/StringConverter.cpp
index 2be15819561..246c25b54e9 100644
--- a/cpp/src/IceUtil/StringConverter.cpp
+++ b/cpp/src/IceUtil/StringConverter.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp
index 5ed73e29faf..a5c8f15a5d7 100644
--- a/cpp/src/IceUtil/StringUtil.cpp
+++ b/cpp/src/IceUtil/StringUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/ThreadException.cpp b/cpp/src/IceUtil/ThreadException.cpp
index ec75cc19bb5..769cd264d3d 100644
--- a/cpp/src/IceUtil/ThreadException.cpp
+++ b/cpp/src/IceUtil/ThreadException.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Time.cpp b/cpp/src/IceUtil/Time.cpp
index 1dbf23e1d72..10820869fdd 100644
--- a/cpp/src/IceUtil/Time.cpp
+++ b/cpp/src/IceUtil/Time.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp
index d01ddbb99b3..a692981b0e4 100644
--- a/cpp/src/IceUtil/UUID.cpp
+++ b/cpp/src/IceUtil/UUID.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Unicode.cpp b/cpp/src/IceUtil/Unicode.cpp
index 4db36d29e9d..a82fc3b772c 100644
--- a/cpp/src/IceUtil/Unicode.cpp
+++ b/cpp/src/IceUtil/Unicode.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceUtil/Unicode.h b/cpp/src/IceUtil/Unicode.h
index 24f97424a52..c53ffbd571d 100644
--- a/cpp/src/IceUtil/Unicode.h
+++ b/cpp/src/IceUtil/Unicode.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceXML/Parser.cpp b/cpp/src/IceXML/Parser.cpp
index 3525e9b4e99..ed50f2bc6ee 100644
--- a/cpp/src/IceXML/Parser.cpp
+++ b/cpp/src/IceXML/Parser.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/IceXML/Parser.h b/cpp/src/IceXML/Parser.h
index d6c7c43331d..582d1f209ad 100644
--- a/cpp/src/IceXML/Parser.h
+++ b/cpp/src/IceXML/Parser.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp
index fd61a1272b7..b65006e6c20 100644
--- a/cpp/src/Slice/CPlusPlusUtil.cpp
+++ b/cpp/src/Slice/CPlusPlusUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -520,7 +520,7 @@ Slice::printHeader(Output& out)
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/Slice/Checksum.cpp b/cpp/src/Slice/Checksum.cpp
index 11892bdedb7..d7bd960bb59 100644
--- a/cpp/src/Slice/Checksum.cpp
+++ b/cpp/src/Slice/Checksum.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/FileTracker.cpp b/cpp/src/Slice/FileTracker.cpp
index 398f7e49bc4..20dfc7ae93c 100644
--- a/cpp/src/Slice/FileTracker.cpp
+++ b/cpp/src/Slice/FileTracker.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Grammar.cpp b/cpp/src/Slice/Grammar.cpp
index c81edc0c8b8..b94e5582bdf 100644
--- a/cpp/src/Slice/Grammar.cpp
+++ b/cpp/src/Slice/Grammar.cpp
@@ -73,7 +73,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Grammar.y b/cpp/src/Slice/Grammar.y
index 1cca612ee8b..0ff52066500 100644
--- a/cpp/src/Slice/Grammar.y
+++ b/cpp/src/Slice/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/GrammarUtil.h b/cpp/src/Slice/GrammarUtil.h
index e11ec472a4b..ef155dd38dc 100644
--- a/cpp/src/Slice/GrammarUtil.h
+++ b/cpp/src/Slice/GrammarUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp
deleted file mode 100644
index e8744143ae5..00000000000
--- a/cpp/src/Slice/JavaUtil.cpp
+++ /dev/null
@@ -1,5045 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2016 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 <IceUtil/DisableWarnings.h>
-#include <Slice/JavaUtil.h>
-#include <Slice/FileTracker.h>
-#include <Slice/Util.h>
-#include <Slice/MD5.h>
-#include <IceUtil/Functional.h>
-#include <IceUtil/FileUtil.h>
-
-#include <sys/types.h>
-#include <string.h>
-
-#ifdef _WIN32
-#include <direct.h>
-#endif
-
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-using namespace std;
-using namespace Slice;
-using namespace IceUtil;
-using namespace IceUtilInternal;
-
-namespace
-{
-
-void
-hashAdd(long& hashCode, const std::string& value)
-{
- for(std::string::const_iterator p = value.begin(); p != value.end(); ++p)
- {
- hashCode = ((hashCode << 5) + hashCode) ^ *p;
- }
-}
-
-string
-typeToBufferString(const TypePtr& type)
-{
- static const char* builtinBufferTable[] =
- {
- "java.nio.ByteBuffer",
- "???",
- "java.nio.ShortBuffer",
- "java.nio.IntBuffer",
- "java.nio.LongBuffer",
- "java.nio.FloatBuffer",
- "java.nio.DoubleBuffer",
- "???",
- "???",
- "???",
- "???"
- };
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(!builtin)
- {
- return "???";
- }
- else
- {
- return builtinBufferTable[builtin->kind()];
- }
-}
-
-string
-lookupKwd(const string& name)
-{
- //
- // Keyword list. *Must* be kept in alphabetical order. Note that checkedCast and uncheckedCast
- // are not Java keywords, but are in this list to prevent illegal code being generated if
- // someone defines Slice operations with that name.
- //
- // NOTE: Any changes made to this list must also be made in BasicStream.java.
- //
- static const string keywordList[] =
- {
- "abstract", "assert", "boolean", "break", "byte", "case", "catch",
- "char", "checkedCast", "class", "clone", "const", "continue", "default", "do",
- "double", "else", "enum", "equals", "extends", "false", "final", "finalize",
- "finally", "float", "for", "getClass", "goto", "hashCode", "if",
- "implements", "import", "instanceof", "int", "interface", "long",
- "native", "new", "notify", "notifyAll", "null", "package", "private",
- "protected", "public", "return", "short", "static", "strictfp", "super", "switch",
- "synchronized", "this", "throw", "throws", "toString", "transient",
- "true", "try", "uncheckedCast", "void", "volatile", "wait", "while"
- };
- bool found = binary_search(&keywordList[0],
- &keywordList[sizeof(keywordList) / sizeof(*keywordList)],
- name);
- return found ? "_" + name : name;
-}
-
-//
-// Split a scoped name into its components and return the components as a list of (unscoped) identifiers.
-//
-static StringList
-splitScopedName(const string& scoped)
-{
- assert(scoped[0] == ':');
- StringList ids;
- string::size_type next = 0;
- string::size_type pos;
- while((pos = scoped.find("::", next)) != string::npos)
- {
- pos += 2;
- if(pos != scoped.size())
- {
- string::size_type endpos = scoped.find("::", pos);
- if(endpos != string::npos)
- {
- ids.push_back(scoped.substr(pos, endpos - pos));
- }
- }
- next = pos;
- }
- if(next != scoped.size())
- {
- ids.push_back(scoped.substr(next));
- }
- else
- {
- ids.push_back("");
- }
-
- return ids;
-}
-
-class MetaDataVisitor : public ParserVisitor
-{
-public:
-
- virtual bool visitUnitStart(const UnitPtr& p)
- {
- static const string prefix = "java:";
-
- //
- // Validate global metadata in the top-level file and all included files.
- //
- StringList files = p->allFiles();
-
- for(StringList::iterator q = files.begin(); q != files.end(); ++q)
- {
- string file = *q;
- DefinitionContextPtr dc = p->findDefinitionContext(file);
- assert(dc);
- StringList globalMetaData = dc->getMetaData();
- for(StringList::const_iterator r = globalMetaData.begin(); r != globalMetaData.end();)
- {
- string s = *r++;
- if(s.find(prefix) == 0)
- {
- static const string packagePrefix = "java:package:";
- static const string checksumPrefix = "java:checksum:";
- if(s.find(packagePrefix) == 0 && s.size() > packagePrefix.size())
- {
- continue;
- }
- else if(s.find(checksumPrefix) == 0 && s.size() > checksumPrefix.size())
- {
- continue;
- }
- else
- {
- dc->warning(InvalidMetaData, file, "", "ignoring invalid global metadata `" + s + "'");
- globalMetaData.remove(s);
- continue;
- }
- };
- }
- dc->setMetaData(globalMetaData);
- }
- return true;
- }
-
- virtual bool visitModuleStart(const ModulePtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- return true;
- }
-
- virtual void visitClassDecl(const ClassDeclPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- }
-
- virtual bool visitClassDefStart(const ClassDefPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- return true;
- }
-
- virtual bool visitExceptionStart(const ExceptionPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- return true;
- }
-
- virtual bool visitStructStart(const StructPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- return true;
- }
-
- virtual void visitOperation(const OperationPtr& p)
- {
- TypePtr returnType = p->returnType();
- StringList metaData = getMetaData(p);
-
- UnitPtr unit = p->unit();
- string file = p->file();
- DefinitionContextPtr dc = unit->findDefinitionContext(p->file());
-
- if(!returnType)
- {
- for(StringList::const_iterator q = metaData.begin(); q != metaData.end();)
- {
- string s = *q++;
- if(s.find("java:type:", 0) == 0)
- {
- dc->warning(InvalidMetaData, p->file(), p->line(), "ignoring invalid metadata `" + s +
- "' for operation with void return type");
- metaData.remove(s);
- continue;
- }
- }
- }
- else
- {
- metaData = validateType(returnType, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- }
- p->setMetaData(metaData);
-
- ParamDeclList params = p->parameters();
- for(ParamDeclList::iterator q = params.begin(); q != params.end(); ++q)
- {
- metaData = getMetaData(*q);
- metaData = validateType((*q)->type(), metaData, p->file(), (*q)->line());
- metaData = validateGetSet((*q)->type(), metaData, p->file(), (*q)->line());
- (*q)->setMetaData(metaData);
- }
- }
-
- virtual void visitDataMember(const DataMemberPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p->type(), metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- }
-
- virtual void visitSequence(const SequencePtr& p)
- {
- static const string protobuf = "java:protobuf:";
- static const string serializable = "java:serializable:";
- static const string bytebuffer = "java:buffer";
- StringList metaData = getMetaData(p);
- StringList newMetaData;
-
- const string file = p->file();
- const string line = p->line();
- const UnitPtr unit = p->unit();
- const DefinitionContextPtr dc = unit->findDefinitionContext(file);
-
- for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); )
- {
- string s = *q++;
-
- if(s.find(protobuf) == 0 || s.find(serializable) == 0)
- {
- //
- // Remove from list so validateType does not try to handle as well.
- //
- metaData.remove(s);
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type());
- if(!builtin || builtin->kind() != Builtin::KindByte)
- {
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + s + "': " +
- "this metadata can only be used with a byte sequence");
- continue;
- }
- newMetaData.push_back(s);
- }
- else if(s.find(bytebuffer) == 0)
- {
- metaData.remove(s);
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type());
- if(!builtin ||
- (builtin->kind() != Builtin::KindByte && builtin->kind() != Builtin::KindShort &&
- builtin->kind() != Builtin::KindInt && builtin->kind() != Builtin::KindLong &&
- builtin->kind() != Builtin::KindFloat && builtin->kind() != Builtin::KindDouble))
- {
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + s + "': " +
- "this metadata can not be used with this type");
- continue;
- }
- newMetaData.push_back(s);
- }
- }
-
- metaData = validateType(p, metaData, file, line);
- metaData = validateGetSet(p, metaData, file, line);
- newMetaData.insert(newMetaData.begin(), metaData.begin(), metaData.end());
- p->setMetaData(newMetaData);
- }
-
- virtual void visitDictionary(const DictionaryPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- }
-
- virtual void visitEnum(const EnumPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- }
-
- virtual void visitConst(const ConstPtr& p)
- {
- StringList metaData = getMetaData(p);
- metaData = validateType(p, metaData, p->file(), p->line());
- metaData = validateGetSet(p, metaData, p->file(), p->line());
- p->setMetaData(metaData);
- }
-
-private:
-
- StringList getMetaData(const ContainedPtr& cont)
- {
- static const string prefix = "java:";
-
- StringList metaData = cont->getMetaData();
- StringList result;
-
- UnitPtr unit = cont->container()->unit();
- string file = cont->file();
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
- assert(dc);
-
- for(StringList::const_iterator p = metaData.begin(); p != metaData.end(); ++p)
- {
- string s = *p;
- if(s.find(prefix) == 0)
- {
- string::size_type pos = s.find(':', prefix.size());
- if(pos == string::npos)
- {
- if(s.size() > prefix.size())
- {
- string rest = s.substr(prefix.size());
- if(rest == "getset")
- {
- result.push_back(s);
- continue;
- }
- else if(rest == "buffer")
- {
- result.push_back(s);
- continue;
- }
- else if(rest == "tie")
- {
- result.push_back(s);
- continue;
- }
- else if(rest == "UserException")
- {
- result.push_back(s);
- continue;
- }
- else if(rest == "optional")
- {
- result.push_back(s);
- continue;
- }
- }
- }
- else if(s.substr(prefix.size(), pos - prefix.size()) == "type")
- {
- result.push_back(s);
- continue;
- }
- else if(s.substr(prefix.size(), pos - prefix.size()) == "serializable")
- {
- result.push_back(s);
- continue;
- }
- else if(s.substr(prefix.size(), pos - prefix.size()) == "protobuf")
- {
- result.push_back(s);
- continue;
- }
- else if(s.substr(prefix.size(), pos - prefix.size()) == "serialVersionUID")
- {
- result.push_back(s);
- continue;
- }
- else if(s.substr(prefix.size(), pos - prefix.size()) == "implements")
- {
- result.push_back(s);
- continue;
- }
-
- dc->warning(InvalidMetaData, cont->file(), cont->line(), "ignoring invalid metadata `" + s + "'");
- }
- else
- {
- result.push_back(s);
- continue;
- }
- }
-
- return result;
- }
-
- StringList validateType(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line)
- {
- const UnitPtr unit = p->unit();
- const DefinitionContextPtr dc = unit->findDefinitionContext(file);
- assert(dc);
- StringList newMetaData;
- for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i)
- {
- //
- // Type metadata ("java:type:Foo") is only supported by sequences and dictionaries.
- //
- if(i->find("java:type:", 0) == 0 && (!SequencePtr::dynamicCast(p) && !DictionaryPtr::dynamicCast(p)))
- {
- string str;
- ContainedPtr cont = ContainedPtr::dynamicCast(p);
- if(cont)
- {
- str = cont->kindOf();
- }
- else
- {
- BuiltinPtr b = BuiltinPtr::dynamicCast(p);
- assert(b);
- str = b->typeId();
- }
- dc->warning(InvalidMetaData, file, line, "invalid metadata for " + str);
- }
- else if(i->find("java:buffer") == 0)
- {
- SequencePtr seq = SequencePtr::dynamicCast(p);
- if(seq)
- {
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- newMetaData.push_back(*i);
- continue;
- }
-
- }
-
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
- }
- else if(i->find("java:protobuf:") == 0 || i->find("java:serializable:") == 0)
- {
- //
- // Only valid in sequence definition which is checked in visitSequence
- //
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
- }
- else if(i->find("delegate") == 0)
- {
- ClassDefPtr cl = ClassDefPtr::dynamicCast(p);
- if(cl && cl->isDelegate())
- {
- newMetaData.push_back(*i);
- }
- else
- {
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
- }
- }
- else if(i->find("java:implements:") == 0)
- {
- if(ClassDefPtr::dynamicCast(p) || StructPtr::dynamicCast(p))
- {
- newMetaData.push_back(*i);
- }
- else
- {
- dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
- }
- }
- else
- {
- newMetaData.push_back(*i);
- }
- }
- return newMetaData;
- }
-
- StringList validateGetSet(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line)
- {
- const UnitPtr unit = p->unit();
- const DefinitionContextPtr dc= unit->findDefinitionContext(file);
- assert(dc);
- StringList newMetaData;
- for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i)
- {
- //
- // The "getset" metadata can only be specified on a class, struct, exception or data member.
- //
- if((*i) == "java:getset" &&
- (!ClassDefPtr::dynamicCast(p) && !StructPtr::dynamicCast(p) && !ExceptionPtr::dynamicCast(p) &&
- !DataMemberPtr::dynamicCast(p)))
- {
- string str;
- ContainedPtr cont = ContainedPtr::dynamicCast(p);
- if(cont)
- {
- str = cont->kindOf();
- }
- else
- {
- BuiltinPtr b = BuiltinPtr::dynamicCast(p);
- assert(b);
- str = b->typeId();
- }
- dc->warning(InvalidMetaData, file, line, "invalid metadata for " + str);
- continue;
- }
- newMetaData.push_back(*i);
- }
- return newMetaData;
- }
-};
-
-}
-
-long
-Slice::computeSerialVersionUUID(const ClassDefPtr& p)
-{
- ostringstream os;
-
- ClassList bases = p->bases();
- os << "Name: " << p->scoped();
-
- os << " Bases: [";
- for(ClassList::const_iterator i = bases.begin(); i != bases.end();)
- {
- os << (*i)->scoped();
- i++;
- if(i != bases.end())
- {
- os << ", ";
- }
- }
- os << "]";
-
- os << " Members: [";
- DataMemberList members = p->dataMembers();
- for(DataMemberList::const_iterator i = members.begin(); i != members.end();)
- {
- os << (*i)->name() << ":" << (*i)->type();
- i++;
- if(i != members.end())
- {
- os << ", ";
- }
- }
- os << "]";
-
- const string data = os.str();
- long hashCode = 5381;
- hashAdd(hashCode, data);
- return hashCode;
-}
-
-long
-Slice::computeSerialVersionUUID(const StructPtr& p)
-{
- ostringstream os;
-
- os << "Name: " << p->scoped();
- os << " Members: [";
- DataMemberList members = p->dataMembers();
- for(DataMemberList::const_iterator i = members.begin(); i != members.end();)
- {
- os << (*i)->name() << ":" << (*i)->type();
- i++;
- if(i != members.end())
- {
- os << ", ";
- }
- }
- os << "]";
-
- const string data = os.str();
- long hashCode = 5381;
- hashAdd(hashCode, data);
- return hashCode;
-}
-
-long
-Slice::computeSerialVersionUUID(const ExceptionPtr& p)
-{
- ostringstream os;
-
- os << "Name: " << p->scoped();
- os << " Members: [";
- DataMemberList members = p->dataMembers();
- for(DataMemberList::const_iterator i = members.begin(); i != members.end();)
- {
- os << (*i)->name() << ":" << (*i)->type();
- i++;
- if(i != members.end())
- {
- os << ", ";
- }
- }
- os << "]";
-
- const string data = os.str();
- long hashCode = 5381;
- hashAdd(hashCode, data);
- return hashCode;
-}
-
-Slice::JavaOutput::JavaOutput()
-{
-}
-
-Slice::JavaOutput::JavaOutput(ostream& os) :
- Output(os)
-{
-}
-
-Slice::JavaOutput::JavaOutput(const char* s) :
- Output(s)
-{
-}
-
-void
-Slice::JavaOutput::openClass(const string& cls, const string& prefix, const string& sliceFile)
-{
- string package;
- string file;
- string path = prefix;
-
- string::size_type pos = cls.rfind('.');
- if(pos != string::npos)
- {
- package = cls.substr(0, pos);
- file = cls.substr(pos + 1);
- string dir = package;
-
- //
- // Create package directories if necessary.
- //
- pos = 0;
- string::size_type start = 0;
- do
- {
- if(!path.empty())
- {
- path += "/";
- }
- pos = dir.find('.', start);
- if(pos != string::npos)
- {
- path += dir.substr(start, pos - start);
- start = pos + 1;
- }
- else
- {
- path += dir.substr(start);
- }
-
- IceUtilInternal::structstat st;
- if(!IceUtilInternal::stat(path, &st))
- {
- if(!(st.st_mode & S_IFDIR))
- {
- ostringstream os;
- os << "failed to create package directory `" << path
- << "': file already exists and is not a directory";
- throw FileException(__FILE__, __LINE__, os.str());
- }
- continue;
- }
-
- if(IceUtilInternal::mkdir(path, 0777) != 0)
- {
- ostringstream os;
- os << "cannot create directory `" << path << "': " << strerror(errno);
- throw FileException(__FILE__, __LINE__, os.str());
- }
- FileTracker::instance()->addDirectory(path);
- }
- while(pos != string::npos);
- }
- else
- {
- file = cls;
- }
- file += ".java";
-
- //
- // Open class file.
- //
- if(!path.empty())
- {
- path += "/";
- }
- path += file;
-
- open(path.c_str());
- if(isOpen())
- {
- FileTracker::instance()->addFile(path);
- printHeader();
- printGeneratedHeader(*this, sliceFile);
- if(!package.empty())
- {
- separator();
- print("package ");
- print(package.c_str());
- print(";");
- }
- }
- else
- {
- ostringstream os;
- os << "cannot open file `" << path << "': " << strerror(errno);
- throw FileException(__FILE__, __LINE__, os.str());
- }
-}
-
-void
-Slice::JavaOutput::printHeader()
-{
- static const char* header =
-"// **********************************************************************\n"
-"//\n"
-"// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
-"//\n"
-"// This copy of Ice is licensed to you under the terms described in the\n"
-"// ICE_LICENSE file included in this distribution.\n"
-"//\n"
-"// **********************************************************************\n"
- ;
-
- print(header);
- print("//\n");
- print("// Ice version ");
- print(ICE_STRING_VERSION);
- print("\n");
- print("//\n");
-}
-
-const string Slice::JavaCompatGenerator::_getSetMetaData = "java:getset";
-
-Slice::JavaCompatGenerator::JavaCompatGenerator(const string& dir) :
- _dir(dir),
- _out(0)
-{
-}
-
-Slice::JavaCompatGenerator::~JavaCompatGenerator()
-{
- // If open throws an exception other generators could be left open
- // during the stack unwind.
- if(_out != 0)
- {
- close();
- }
- assert(_out == 0);
-}
-
-void
-Slice::JavaCompatGenerator::open(const string& absolute, const string& file)
-{
- assert(_out == 0);
-
- JavaOutput* out = createOutput();
- try
- {
- out->openClass(absolute, _dir, file);
- }
- catch(const FileException&)
- {
- delete out;
- throw;
- }
- _out = out;
-}
-
-void
-Slice::JavaCompatGenerator::close()
-{
- assert(_out != 0);
- *_out << nl;
- delete _out;
- _out = 0;
-}
-
-Output&
-Slice::JavaCompatGenerator::output() const
-{
- assert(_out != 0);
- return *_out;
-}
-
-//
-// If the passed name is a scoped name, return the identical scoped name,
-// but with all components that are Java keywords replaced by
-// their "_"-prefixed version; otherwise, if the passed name is
-// not scoped, but a Java keyword, return the "_"-prefixed name;
-// otherwise, return the name unchanged.
-//
-string
-Slice::JavaCompatGenerator::fixKwd(const string& name) const
-{
- if(name.empty())
- {
- return name;
- }
- if(name[0] != ':')
- {
- return lookupKwd(name);
- }
- StringList ids = splitScopedName(name);
- transform(ids.begin(), ids.end(), ids.begin(), ptr_fun(lookupKwd));
- stringstream result;
- for(StringList::const_iterator i = ids.begin(); i != ids.end(); ++i)
- {
- result << "::" + *i;
- }
- return result.str();
-}
-
-string
-Slice::JavaCompatGenerator::convertScopedName(const string& scoped, const string& prefix, const string& suffix) const
-{
- string result;
- string::size_type start = 0;
- string fscoped = fixKwd(scoped);
-
- //
- // Skip leading "::"
- //
- if(fscoped[start] == ':')
- {
- assert(fscoped[start + 1] == ':');
- start += 2;
- }
-
- //
- // Convert all occurrences of "::" to "."
- //
- string::size_type pos;
- do
- {
- pos = fscoped.find(':', start);
- string fix;
- if(pos == string::npos)
- {
- string s = fscoped.substr(start);
- if(!s.empty())
- {
- fix = prefix + fixKwd(s) + suffix;
- }
- }
- else
- {
- assert(fscoped[pos + 1] == ':');
- fix = fixKwd(fscoped.substr(start, pos - start));
- start = pos + 2;
- }
-
- if(!result.empty() && !fix.empty())
- {
- result += ".";
- }
- result += fix;
- }
- while(pos != string::npos);
-
- return result;
-}
-
-string
-Slice::JavaCompatGenerator::getPackagePrefix(const ContainedPtr& cont) const
-{
- UnitPtr unit = cont->container()->unit();
- string file = cont->file();
- assert(!file.empty());
-
- map<string, string>::const_iterator p = _filePackagePrefix.find(file);
- if(p != _filePackagePrefix.end())
- {
- return p->second;
- }
-
- static const string prefix = "java:package:";
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
- assert(dc);
- string q = dc->findMetaData(prefix);
- if(!q.empty())
- {
- q = q.substr(prefix.size());
- }
- _filePackagePrefix[file] = q;
- return q;
-}
-
-string
-Slice::JavaCompatGenerator::getPackage(const ContainedPtr& cont) const
-{
- string scope = convertScopedName(cont->scope());
- string prefix = getPackagePrefix(cont);
- if(!prefix.empty())
- {
- if(!scope.empty())
- {
- return prefix + "." + scope;
- }
- else
- {
- return prefix;
- }
- }
-
- return scope;
-}
-
-string
-Slice::JavaCompatGenerator::getAbsolute(const ContainedPtr& cont,
- const string& package,
- const string& prefix,
- const string& suffix) const
-{
- string name = cont->name();
- if(prefix == "" && suffix == "")
- {
- name = fixKwd(name);
- }
- string contPkg = getPackage(cont);
- if(contPkg == package)
- {
- return prefix + name + suffix;
- }
- else if(!contPkg.empty())
- {
- return contPkg + "." + prefix + name + suffix;
- }
- else
- {
- return prefix + name + suffix;
- }
-}
-
-string
-Slice::JavaCompatGenerator::getStaticId(const TypePtr& type, const string& package) const
-{
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
-
- assert((b && b->usesClasses()) || cl);
-
- if(b)
- {
- return "Ice.ObjectImpl.ice_staticId()";
- }
- else if(cl->isInterface())
- {
- return getAbsolute(cl, package, "_", "Disp") + ".ice_staticId()";
- }
- else
- {
- return getAbsolute(cl, package) + ".ice_staticId()";
- }
-}
-
-bool
-Slice::JavaCompatGenerator::useOptionalMapping(const OperationPtr& p)
-{
- //
- // The "java:optional" metadata can be applied to an operation or its
- // interface to force the mapping to use the Ice.Optional types.
- //
- // Without the tag, parameters use the normal (non-optional) mapping.
- //
- static const string tag = "java:optional";
-
- ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container());
- assert(cl);
-
- return p->hasMetaData(tag) || cl->hasMetaData(tag);
-}
-
-string
-Slice::JavaCompatGenerator::getOptionalFormat(const TypePtr& type)
-{
- BuiltinPtr bp = BuiltinPtr::dynamicCast(type);
- if(bp)
- {
- switch(bp->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- {
- return "Ice.OptionalFormat.F1";
- }
- case Builtin::KindShort:
- {
- return "Ice.OptionalFormat.F2";
- }
- case Builtin::KindInt:
- case Builtin::KindFloat:
- {
- return "Ice.OptionalFormat.F4";
- }
- case Builtin::KindLong:
- case Builtin::KindDouble:
- {
- return "Ice.OptionalFormat.F8";
- }
- case Builtin::KindString:
- {
- return "Ice.OptionalFormat.VSize";
- }
- case Builtin::KindObject:
- {
- return "Ice.OptionalFormat.Class";
- }
- case Builtin::KindObjectProxy:
- {
- return "Ice.OptionalFormat.FSize";
- }
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- case Builtin::KindValue:
- {
- return "Ice.OptionalFormat.Class";
- }
- }
- }
-
- if(EnumPtr::dynamicCast(type))
- {
- return "Ice.OptionalFormat.Size";
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- return seq->type()->isVariableLength() ? "Ice.OptionalFormat.FSize" : "Ice.OptionalFormat.VSize";
- }
-
- DictionaryPtr d = DictionaryPtr::dynamicCast(type);
- if(d)
- {
- return (d->keyType()->isVariableLength() || d->valueType()->isVariableLength()) ?
- "Ice.OptionalFormat.FSize" : "Ice.OptionalFormat.VSize";
- }
-
- StructPtr st = StructPtr::dynamicCast(type);
- if(st)
- {
- return st->isVariableLength() ? "Ice.OptionalFormat.FSize" : "Ice.OptionalFormat.VSize";
- }
-
- if(ProxyPtr::dynamicCast(type))
- {
- return "Ice.OptionalFormat.FSize";
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- assert(cl);
- return "Ice.OptionalFormat.Class";
-}
-
-string
-Slice::JavaCompatGenerator::typeToString(const TypePtr& type,
- TypeMode mode,
- const string& package,
- const StringList& metaData,
- bool formal,
- bool optional) const
-{
- static const char* builtinTable[] =
- {
- "byte",
- "boolean",
- "short",
- "int",
- "long",
- "float",
- "double",
- "String",
- "Ice.Object",
- "Ice.ObjectPrx",
- "java.lang.Object",
- "Ice.Object" // Ice.Value
- };
- static const char* builtinHolderTable[] =
- {
- "Ice.ByteHolder",
- "Ice.BooleanHolder",
- "Ice.ShortHolder",
- "Ice.IntHolder",
- "Ice.LongHolder",
- "Ice.FloatHolder",
- "Ice.DoubleHolder",
- "Ice.StringHolder",
- "Ice.ObjectHolder",
- "Ice.ObjectPrxHolder",
- "Ice.LocalObjectHolder",
- "Ice.ObjectHolder" // Ice.ValueHolder
- };
- static const char* builtinOptionalTable[] =
- {
- "Ice.ByteOptional",
- "Ice.BooleanOptional",
- "Ice.ShortOptional",
- "Ice.IntOptional",
- "Ice.LongOptional",
- "Ice.FloatOptional",
- "Ice.DoubleOptional",
- "???",
- "???",
- "???",
- "???",
- "???"
- };
-
- if(!type)
- {
- assert(mode == TypeModeReturn);
- return "void";
- }
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin)
- {
- if(optional)
- {
- switch(builtin->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- case Builtin::KindShort:
- case Builtin::KindInt:
- case Builtin::KindLong:
- case Builtin::KindFloat:
- case Builtin::KindDouble:
- {
- return builtinOptionalTable[builtin->kind()];
- }
- case Builtin::KindString:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- case Builtin::KindValue:
- {
- break;
- }
- }
- }
- else
- {
- if(mode == TypeModeOut)
- {
- return builtinHolderTable[builtin->kind()];
- }
- else
- {
- return builtinTable[builtin->kind()];
- }
- }
- }
-
- if(optional)
- {
- return "Ice.Optional<" + typeToString(type, TypeModeIn, package, metaData, formal) + ">";
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if(cl)
- {
- return getAbsolute(cl, package, "", mode == TypeModeOut ? "Holder" : "");
- }
-
- ProxyPtr proxy = ProxyPtr::dynamicCast(type);
- if(proxy)
- {
- return getAbsolute(proxy->_class(), package, "", mode == TypeModeOut ? "PrxHolder" : "Prx");
- }
-
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
- if(dict)
- {
- if(mode == TypeModeOut)
- {
- //
- // Only use the type's generated holder if the instance and
- // formal types match.
- //
- string instanceType, formalType;
- getDictionaryTypes(dict, "", metaData, instanceType, formalType);
- string origInstanceType, origFormalType;
- getDictionaryTypes(dict, "", StringList(), origInstanceType, origFormalType);
- if(formalType == origFormalType && instanceType == origInstanceType)
- {
- return getAbsolute(dict, package, "", "Holder");
- }
-
- //
- // The custom type may or may not be compatible with the type used
- // in the generated holder. We use a generic holder that holds a value of the
- // formal custom type.
- //
- return string("Ice.Holder<") + formalType + " >";
- }
- else
- {
- string instanceType, formalType;
- getDictionaryTypes(dict, package, metaData, instanceType, formalType);
- return formal ? formalType : instanceType;
- }
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- if(mode == TypeModeOut)
- {
- string instanceType, formalType;
- getSequenceTypes(seq, "", metaData, instanceType, formalType);
- if(sequenceHasHolder(seq))
- {
- //
- // Only use the type's generated holder if the instance and
- // formal types match.
- //
- string origInstanceType, origFormalType;
- getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType);
- if(formalType == origFormalType && instanceType == origInstanceType)
- {
- return getAbsolute(seq, package, "", "Holder");
- }
- }
-
- //
- // The custom type may or may not be compatible with the type used
- // in the generated holder. We use a generic holder that holds a value of the
- // formal custom type.
- //
- return string("Ice.Holder<") + formalType + " >";
- }
- else
- {
- string instanceType, formalType;
- getSequenceTypes(seq, package, metaData, instanceType, formalType);
- return formal ? formalType : instanceType;
- }
- }
-
- ContainedPtr contained = ContainedPtr::dynamicCast(type);
- if(contained)
- {
- if(mode == TypeModeOut)
- {
- return getAbsolute(contained, package, "", "Holder");
- }
- else
- {
- return getAbsolute(contained, package);
- }
- }
-
- return "???";
-}
-
-string
-Slice::JavaCompatGenerator::typeToObjectString(const TypePtr& type,
- TypeMode mode,
- const string& package,
- const StringList& metaData,
- bool formal) const
-{
- static const char* builtinTable[] =
- {
- "java.lang.Byte",
- "java.lang.Boolean",
- "java.lang.Short",
- "java.lang.Integer",
- "java.lang.Long",
- "java.lang.Float",
- "java.lang.Double",
- "java.lang.String",
- "Ice.Object",
- "Ice.ObjectPrx",
- "java.lang.Object",
- "Ice.Object" // Ice.Value
- };
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin && mode != TypeModeOut)
- {
- return builtinTable[builtin->kind()];
- }
-
- return typeToString(type, mode, package, metaData, formal);
-}
-
-void
-Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
- const string& package,
- const TypePtr& type,
- OptionalMode mode,
- bool optionalMapping,
- int tag,
- const string& param,
- bool marshal,
- int& iter,
- bool holder,
- const string& customStream,
- const StringList& metaData,
- const string& patchParams)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
-
- string v;
- if(holder)
- {
- v = param + ".value";
- }
- else
- {
- v = param;
- }
-
- const bool optionalParam = mode == OptionalInParam || mode == OptionalOutParam || mode == OptionalReturnParam;
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin)
- {
- switch(builtin->kind())
- {
- case Builtin::KindByte:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeByte(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeByte(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readByte(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readByte();";
- }
- }
- break;
- }
- case Builtin::KindBool:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeBool(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeBool(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readBool(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readBool();";
- }
- }
- break;
- }
- case Builtin::KindShort:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeShort(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeShort(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readShort(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readShort();";
- }
- }
- break;
- }
- case Builtin::KindInt:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeInt(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeInt(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readInt(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readInt();";
- }
- }
- break;
- }
- case Builtin::KindLong:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeLong(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeLong(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readLong(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readLong();";
- }
- }
- break;
- }
- case Builtin::KindFloat:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeFloat(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeFloat(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readFloat(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readFloat();";
- }
- }
- break;
- }
- case Builtin::KindDouble:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeDouble(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeDouble(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readDouble(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readDouble();";
- }
- }
- break;
- }
- case Builtin::KindString:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeString(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeString(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readString(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readString();";
- }
- }
- break;
- }
- case Builtin::KindObject:
- case Builtin::KindValue:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeValue(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeValue(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readValue(" << tag << ", " << param << ");";
- }
- else if(holder && mode == OptionalNone)
- {
- out << nl << stream << ".readValue(" << param << ");";
- }
- else
- {
- if(patchParams.empty())
- {
- out << nl << stream << ".readValue(new Patcher());";
- }
- else
- {
- out << nl << stream << ".readValue(" << patchParams << ");";
- }
- }
- }
- break;
- }
- case Builtin::KindObjectProxy:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeProxy(" << tag << ", " << v << ");";
- }
- else if(mode == OptionalMember)
- {
- out << nl << "int pos = " << stream << ".startSize();";
- out << nl << stream << ".writeProxy(" << v << ");";
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- out << nl << stream << ".writeProxy(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << stream << ".readProxy(" << tag << ", " << v << ");";
- }
- else if(mode == OptionalMember)
- {
- out << nl << stream << ".skip(4);";
- out << nl << v << " = " << stream << ".readProxy();";
- }
- else
- {
- out << nl << v << " = " << stream << ".readProxy();";
- }
- }
- break;
- }
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- }
- return;
- }
-
- ProxyPtr prx = ProxyPtr::dynamicCast(type);
- if(prx)
- {
- string typeS = typeToString(type, TypeModeIn, package);
- if(marshal)
- {
- if(optionalParam)
- {
- if(optionalMapping)
- {
- out << nl << "if(" << v << " != null && " << v << ".isSet() && " << stream << ".writeOptional("
- << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << "int pos = " << stream << ".startSize();";
- out << nl << typeS << "Helper.write(" << stream << ", " << v << ".get());";
- out << nl << stream << ".endSize(pos);";
- out << eb;
- }
- else
- {
- out << nl << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << "int pos = " << stream << ".startSize();";
- out << nl << typeS << "Helper.write(" << stream << ", " << v << ");";
- out << nl << stream << ".endSize(pos);";
- out << eb;
- }
- }
- else if(mode == OptionalMember)
- {
- out << nl << "int pos = " << stream << ".startSize();";
- out << nl << typeS << "Helper.write(" << stream << ", " << v << ");";
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- out << nl << typeS << "Helper.write(" << stream << ", " << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << stream << ".skip(4);";
- out << nl << v << ".set(" << typeS << "Helper.read(" << stream << "));";
- out << eb;
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- else if(mode == OptionalMember)
- {
- out << nl << stream << ".skip(4);";
- out << nl << v << " = " << typeS << "Helper.read(" << stream << ");";
- }
- else
- {
- out << nl << v << " = " << typeS << "Helper.read(" << stream << ");";
- }
- }
- return;
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if(cl)
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeValue(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".writeValue(" << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- string typeS = typeToString(type, TypeModeIn, package);
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << stream << ".readValue(new Ice.OptionalObject(" << v << ", " << typeS << ".class, "
- << getStaticId(type, package) << "));";
- out << eb;
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- else
- {
- if(holder && mode == OptionalNone)
- {
- out << nl << stream << ".readValue(" << param << ");";
- }
- else
- {
- if(patchParams.empty())
- {
- out << nl << stream << ".readValue(new Patcher());";
- }
- else
- {
- out << nl << stream << ".readValue(" << patchParams << ");";
- }
- }
- }
- }
- return;
- }
-
- StructPtr st = StructPtr::dynamicCast(type);
- if(st)
- {
- string typeS = typeToString(type, TypeModeIn, package, metaData);
- if(marshal)
- {
- if(optionalParam || mode == OptionalMember)
- {
- string val;
- if(optionalParam)
- {
- if(optionalMapping)
- {
- out << nl << "if(" << v << " != null && " << v << ".isSet() && " << stream << ".writeOptional("
- << tag << ", " << getOptionalFormat(type) << "))";
- val = v + ".get()";
- }
- else
- {
- out << nl << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type)
- << "))";
- val = v;
- }
- out << sb;
- }
- else
- {
- val = v;
- }
-
- if(st->isVariableLength())
- {
- out << nl << "int pos = " << stream << ".startSize();";
- out << nl << typeS << ".ice_write(" << stream << ", " << val << ");";
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- out << nl << stream << ".writeSize(" << st->minWireSize() << ");";
- out << nl << typeS << ".ice_write(" << stream << ", " << val << ");";
- }
- if(optionalParam)
- {
- out << eb;
- }
- }
- else
- {
- out << nl << typeS << ".ice_write(" << stream << ", " << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
-
- if(st->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else
- {
- out << nl << stream << ".skipSize();";
- }
-
- out << nl << typeS << " tmpOpt = new " << typeS << "();";
- out << nl << "tmpOpt.ice_readMembers(" << stream << ");";
- out << nl << v << ".set(tmpOpt);";
-
- out << eb;
-
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- else if(mode == OptionalMember)
- {
- if(st->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else
- {
- out << nl << stream << ".skipSize();";
- }
- out << nl << v << " = " << typeS << ".ice_read(" << stream << ");";
- }
- else
- {
- out << nl << v << " = " << typeS << ".ice_read(" << stream << ");";
- }
- }
- return;
- }
-
- EnumPtr en = EnumPtr::dynamicCast(type);
- if(en)
- {
- string typeS = typeToString(type, TypeModeIn, package, metaData);
- if(marshal)
- {
- if(optionalParam)
- {
- if(optionalMapping)
- {
- out << nl << "if(" << v << " != null && " << v << ".isSet() && " << stream << ".writeOptional("
- << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ".ice_write(" << stream << ", " << v << ".get());";
- out << eb;
- }
- else
- {
- out << nl << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ".ice_write(" << stream << ", " << v << ");";
- out << eb;
- }
- }
- else
- {
- out << nl << typeS << ".ice_write(" << stream << ", " << v << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << v << ".set(" << typeS << ".ice_read(" << stream << "));";
- out << eb;
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- else
- {
- out << nl << v << " = " << typeS << ".ice_read(" << stream << ");";
- }
- }
- return;
- }
-
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
- if(dict)
- {
- if(optionalParam || mode == OptionalMember)
- {
- string typeS = typeToString(type, TypeModeIn, package, metaData);
- TypePtr keyType = dict->keyType();
- TypePtr valueType = dict->valueType();
-
- if(marshal)
- {
- if(optionalParam)
- {
- if(optionalMapping)
- {
- out << nl << "if(" << v << " != null && " << v << ".isSet() && " << stream << ".writeOptional("
- << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- }
- else
- {
- out << nl << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type)
- << "))";
- out << sb;
- }
- }
-
- if(keyType->isVariableLength() || valueType->isVariableLength())
- {
- string d = optionalParam && optionalMapping ? v + ".get()" : v;
- out << nl << "int pos = " << stream << ".startSize();";
- writeDictionaryMarshalUnmarshalCode(out, package, dict, d, marshal, iter, true, customStream, metaData);
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- const size_t wireSize = keyType->minWireSize() + valueType->minWireSize();
- string tmpName;
- if(optionalParam && optionalMapping)
- {
- tmpName = "optDict";
- out << nl << "final " << typeS << ' ' << tmpName << " = " << v << ".get();";
- }
- else
- {
- tmpName = v;
- }
- out << nl << "final int optSize = " << tmpName << " == null ? 0 : " << tmpName << ".size();";
- out << nl << stream << ".writeSize(optSize > 254 ? optSize * " << wireSize
- << " + 5 : optSize * " << wireSize << " + 1);";
- writeDictionaryMarshalUnmarshalCode(out, package, dict, tmpName, marshal, iter, true, customStream, metaData);
- }
-
- if(optionalParam)
- {
- out << eb;
- }
- }
- else
- {
- string tmpName;
-
- if(optionalParam)
- {
- tmpName = "optDict";
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ' ' << tmpName << ';';
- }
- else
- {
- tmpName = v;
- }
-
- if(keyType->isVariableLength() || valueType->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else
- {
- out << nl << stream << ".skipSize();";
- }
-
- writeDictionaryMarshalUnmarshalCode(out, package, dict, tmpName, marshal, iter, true, customStream, metaData);
-
- if(optionalParam)
- {
- out << nl << v << ".set(" << tmpName << ");";
- out << eb;
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- }
- }
- else
- {
- writeDictionaryMarshalUnmarshalCode(out, package, dict, v, marshal, iter, true, customStream, metaData);
- }
- return;
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- if(optionalParam || mode == OptionalMember)
- {
- string typeS = typeToString(type, TypeModeIn, package, metaData);
- TypePtr elemType = seq->type();
- BuiltinPtr elemBuiltin = BuiltinPtr::dynamicCast(elemType);
-
- if(optionalParam && elemBuiltin && elemBuiltin->kind() != Builtin::KindObject &&
- elemBuiltin->kind() != Builtin::KindObjectProxy && elemBuiltin->kind() != Builtin::KindValue &&
- !hasTypeMetaData(seq, metaData))
- {
- static const char* builtinTable[] =
- {
- "Byte",
- "Bool",
- "Short",
- "Int",
- "Long",
- "Float",
- "Double",
- "String",
- "???",
- "???",
- "???"
- };
-
- switch(elemBuiltin->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- case Builtin::KindShort:
- case Builtin::KindInt:
- case Builtin::KindLong:
- case Builtin::KindFloat:
- case Builtin::KindDouble:
- case Builtin::KindString:
- {
- string bs = builtinTable[elemBuiltin->kind()];
-
- if(marshal)
- {
- out << nl << stream << ".write" << bs << "Seq(" << tag << ", " << v << ");";
- }
- else
- {
- out << nl << stream << ".read" << bs << "Seq(" << tag << ", " << v << ");";
- }
- return;
- }
- case Builtin::KindValue:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- }
- }
-
- string ignore;
- const size_t wireSize = elemType->minWireSize();
-
- if(marshal)
- {
- if(optionalParam)
- {
- if(optionalMapping)
- {
- out << nl << "if(" << v << " != null && " << v << ".isSet() && " << stream << ".writeOptional("
- << tag << ", " << getOptionalFormat(type) << "))";
- }
- else
- {
- out << nl << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type)
- << "))";
- }
-
- out << sb;
- }
-
- if(elemType->isVariableLength())
- {
- string s = optionalParam && optionalMapping ? v + ".get()" : v;
- out << nl << "int pos = " << stream << ".startSize();";
- writeSequenceMarshalUnmarshalCode(out, package, seq, s, marshal, iter, true, customStream, metaData);
- out << nl << stream << ".endSize(pos);";
- }
- else if(findMetaData("java:type:", metaData, ignore) ||
- findMetaData("java:type:", seq->getMetaData(), ignore))
- {
- //
- // The sequence is an instance of java.util.List<E>, where E is a fixed-size type.
- // If the element type is bool or byte, we do NOT write an extra size.
- //
-
- string tmpName;
- if(optionalParam && optionalMapping)
- {
- tmpName = "optSeq";
- out << nl << "final " << typeS << ' ' << tmpName << " = " << v << ".get();";
- }
- else
- {
- tmpName = v;
- }
-
- if(wireSize > 1)
- {
- out << nl << "final int optSize = " << tmpName << " == null ? 0 : " << tmpName << ".size();";
- out << nl << stream << ".writeSize(optSize > 254 ? optSize * " << wireSize
- << " + 5 : optSize * " << wireSize << " + 1);";
- }
- writeSequenceMarshalUnmarshalCode(out, package, seq, tmpName, marshal, iter, true, customStream, metaData);
- }
- else if(findMetaData("java:protobuf:", seq->getMetaData(), ignore) ||
- findMetaData("java:serializable:", seq->getMetaData(), ignore))
- {
- //
- // This just writes a byte sequence.
- //
- string s = optionalParam && optionalMapping ? v + ".get()" : v;
- writeSequenceMarshalUnmarshalCode(out, package, seq, s, marshal, iter, true, customStream, metaData);
- }
- else
- {
- //
- // At this point we have a regular Java array of a fixed-size type.
- //
-
- string tmpName;
- if(optionalParam && optionalMapping)
- {
- tmpName = "optSeq";
- out << nl << "final " << typeS << ' ' << tmpName << " = " << v << ".get();";
- }
- else
- {
- tmpName = v;
- }
-
- if(wireSize > 1)
- {
- out << nl << "final int optSize = " << tmpName << " == null ? 0 : " << tmpName << ".length;";
- out << nl << stream << ".writeSize(optSize > 254 ? optSize * " << wireSize
- << " + 5 : optSize * " << wireSize << " + 1);";
- }
-
- writeSequenceMarshalUnmarshalCode(out, package, seq, tmpName, marshal, iter, true, customStream, metaData);
- }
-
- if(optionalParam)
- {
- out << eb;
- }
- }
- else
- {
- string tmpName;
- if(optionalParam)
- {
- tmpName = "optSeq";
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ' ' << tmpName << ';';
- }
- else
- {
- tmpName = v;
- }
-
- if(elemType->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else if(wireSize > 1)
- {
- if(findMetaData("java:type:", metaData, ignore) ||
- findMetaData("java:type:", seq->getMetaData(), ignore))
- {
- //
- // The sequence is an instance of java.util.List<E>, where E is a fixed-size type.
- //
-
- out << nl << stream << ".skipSize();";
- }
- else if(!findMetaData("java:protobuf:", seq->getMetaData(), ignore) &&
- !findMetaData("java:serializable:", seq->getMetaData(), ignore))
- {
- out << nl << stream << ".skipSize();";
- }
- }
-
- writeSequenceMarshalUnmarshalCode(out, package, seq, tmpName, marshal, iter, true, customStream, metaData);
-
- if(optionalParam)
- {
- out << nl << v << ".set(" << tmpName << ");";
- out << eb;
- if(mode == OptionalOutParam)
- {
- out << nl << "else";
- out << sb;
- out << nl << v << ".clear();";
- out << eb;
- }
- }
- }
- }
- else
- {
- writeSequenceMarshalUnmarshalCode(out, package, seq, v, marshal, iter, true, customStream, metaData);
- }
- return;
- }
-
- ConstructedPtr constructed = ConstructedPtr::dynamicCast(type);
- assert(constructed);
- string typeS = getAbsolute(constructed, package, "", "Helper");
- if(marshal)
- {
- out << nl << typeS << ".write(" << stream << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << typeS << ".read(" << stream << ");";
- }
-}
-
-void
-Slice::JavaCompatGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
- const string& package,
- const DictionaryPtr& dict,
- const string& param,
- bool marshal,
- int& iter,
- bool useHelper,
- const string& customStream,
- const StringList& metaData)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
-
- string v = param;
-
- string instanceType;
-
- //
- // We have to determine whether it's possible to use the
- // type's generated helper class for this marshal/unmarshal
- // task. Since the user may have specified a custom type in
- // metadata, it's possible that the helper class is not
- // compatible and therefore we'll need to generate the code
- // in-line instead.
- //
- // Specifically, there may be "local" metadata (i.e., from
- // a data member or parameter definition) that overrides the
- // original type. We'll compare the mapped types with and
- // without local metadata to determine whether we can use
- // the helper.
- //
- string formalType;
- getDictionaryTypes(dict, "", metaData, instanceType, formalType);
- string origInstanceType, origFormalType;
- getDictionaryTypes(dict, "", StringList(), origInstanceType, origFormalType);
- if((formalType != origFormalType) || (!marshal && instanceType != origInstanceType))
- {
- useHelper = false;
- }
-
- //
- // If we can use the helper, it's easy.
- //
- if(useHelper)
- {
- string typeS = getAbsolute(dict, package, "", "Helper");
- if(marshal)
- {
- out << nl << typeS << ".write(" << stream << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << typeS << ".read(" << stream << ");";
- }
- return;
- }
-
- TypePtr key = dict->keyType();
- TypePtr value = dict->valueType();
-
- string keyS = typeToString(key, TypeModeIn, package);
- string valueS = typeToString(value, TypeModeIn, package);
-
- ostringstream o;
- o << iter;
- string iterS = o.str();
- iter++;
-
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << "ostr.writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << "ostr.writeSize(" << v << ".size());";
- string keyObjectS = typeToObjectString(key, TypeModeIn, package);
- string valueObjectS = typeToObjectString(value, TypeModeIn, package);
- out << nl << "for(java.util.Map.Entry<" << keyObjectS << ", " << valueObjectS << "> e : " << v
- << ".entrySet())";
- out << sb;
- for(int i = 0; i < 2; i++)
- {
- string arg;
- TypePtr type;
- if(i == 0)
- {
- arg = "e.getKey()";
- type = key;
- }
- else
- {
- arg = "e.getValue()";
- type = value;
- }
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, arg, true, iter, false, customStream);
- }
- out << eb;
- out << eb;
- }
- else
- {
- out << nl << v << " = new " << instanceType << "();";
- out << nl << "int sz" << iterS << " = " << stream << ".readSize();";
- out << nl << "for(int i" << iterS << " = 0; i" << iterS << " < sz" << iterS << "; i" << iterS << "++)";
- out << sb;
- for(int i = 0; i < 2; i++)
- {
- string arg;
- TypePtr type;
- string typeS;
- if(i == 0)
- {
- arg = "key";
- type = key;
- typeS = keyS;
- }
- else
- {
- arg = "value";
- type = value;
- typeS = valueS;
- }
-
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(ClassDeclPtr::dynamicCast(type) || (b && b->usesClasses()))
- {
- string keyTypeStr = typeToObjectString(key, TypeModeIn, package);
- string valueTypeStr = typeToObjectString(value, TypeModeIn, package);
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, arg, false, iter, false,
- customStream, StringList(),
- "new IceInternal.DictionaryPatcher<" + keyTypeStr + ", " + valueTypeStr +
- ">(" + v + ", " + typeS + ".class, key)");
- }
- else
- {
- if(StructPtr::dynamicCast(type))
- {
- out << nl << typeS << ' ' << arg << " = null;";
- }
- else
- {
- out << nl << typeS << ' ' << arg << ';';
- }
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, arg, false, iter, false, customStream);
- }
- }
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(value);
- if(!(builtin && builtin->usesClasses()) && !ClassDeclPtr::dynamicCast(value))
- {
- out << nl << "" << v << ".put(key, value);";
- }
- out << eb;
- }
-}
-
-void
-Slice::JavaCompatGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
- const string& package,
- const SequencePtr& seq,
- const string& param,
- bool marshal,
- int& iter,
- bool useHelper,
- const string& customStream,
- const StringList& metaData)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
- string v = param;
-
- //
- // If the sequence is a byte sequence, check if there's the serializable or protobuf metadata to
- // get rid of these two easy cases first.
- //
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin && builtin->kind() == Builtin::KindByte)
- {
- string meta;
- static const string protobuf = "java:protobuf:";
- static const string serializable = "java:serializable:";
- if(seq->findMetaData(serializable, meta))
- {
- if(marshal)
- {
- out << nl << stream << ".writeSerializable(" << v << ");";
- }
- else
- {
- string type = typeToString(seq, TypeModeIn, package);
- out << nl << v << " = (" << type << ")" << stream << ".readSerializable();";
- }
- return;
- }
- else if(seq->findMetaData(protobuf, meta))
- {
- if(marshal)
- {
- out << nl << "if(!" << v << ".isInitialized())";
- out << sb;
- out << nl << "throw new Ice.MarshalException(\"type not fully initialized\");";
- out << eb;
- out << nl << stream << ".writeByteSeq(" << v << ".toByteArray());";
- }
- else
- {
- string type = typeToString(seq, TypeModeIn, package);
- out << nl << "try";
- out << sb;
- out << nl << v << " = " << type << ".parseFrom(" << stream << ".readByteSeq());";
- out << eb;
- out << nl << "catch(com.google.protobuf.InvalidProtocolBufferException ex)";
- out << sb;
- out << nl << "throw new Ice.MarshalException(ex);";
- out << eb;
- }
- return;
- }
- }
-
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- string meta;
- static const string bytebuffer = "java:buffer";
- if(seq->findMetaData(bytebuffer, meta) || findMetaData(bytebuffer, metaData, meta))
- {
- switch(builtin->kind())
- {
- case Builtin::KindByte:
- {
- if(marshal)
- {
- out << nl << stream << ".writeByteBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readByteBuffer();";
- }
- break;
- }
- case Builtin::KindShort:
- {
- if(marshal)
- {
- out << nl << stream << ".writeShortBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readShortBuffer();";
- }
- break;
- }
- case Builtin::KindInt:
- {
- if(marshal)
- {
- out << nl << stream << ".writeIntBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readIntBuffer();";
- }
- break;
- }
- case Builtin::KindLong:
- {
- if(marshal)
- {
- out << nl << stream << ".writeLongBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readLongBuffer();";
- }
- break;
- }
- case Builtin::KindFloat:
- {
- if(marshal)
- {
- out << nl << stream << ".writeFloatBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readFloatBuffer();";
- }
- break;
- }
- case Builtin::KindDouble:
- {
- if(marshal)
- {
- out << nl << stream << ".writeDoubleBuffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readDoubleBuffer();";
- }
- break;
- }
- case Builtin::KindBool:
- case Builtin::KindString:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- case Builtin::KindValue:
- {
- assert(false);
- break;
- }
- }
- return;
- }
- }
-
- bool customType = false;
- string instanceType;
-
- //
- // We have to determine whether it's possible to use the
- // type's generated helper class for this marshal/unmarshal
- // task. Since the user may have specified a custom type in
- // metadata, it's possible that the helper class is not
- // compatible and therefore we'll need to generate the code
- // in-line instead.
- //
- // Specifically, there may be "local" metadata (i.e., from
- // a data member or parameter definition) that overrides the
- // original type. We'll compare the mapped types with and
- // without local metadata to determine whether we can use
- // the helper.
- //
- string formalType;
- customType = getSequenceTypes(seq, "", metaData, instanceType, formalType);
- string origInstanceType, origFormalType;
- getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType);
- if((formalType != origFormalType) || (!marshal && instanceType != origInstanceType))
- {
- useHelper = false;
- }
-
- //
- // If we can use the helper, it's easy.
- //
- if(useHelper)
- {
- string typeS = getAbsolute(seq, package, "", "Helper");
- if(marshal)
- {
- out << nl << typeS << ".write(" << stream << ", " << v << ");";
- }
- else
- {
- out << nl << v << " = " << typeS << ".read(" << stream << ");";
- }
- return;
- }
-
- //
- // Determine sequence depth.
- //
- int depth = 0;
- TypePtr origContent = seq->type();
- SequencePtr s = SequencePtr::dynamicCast(origContent);
- while(s)
- {
- //
- // Stop if the inner sequence type has a custom, serializable or protobuf type.
- //
- if(hasTypeMetaData(s))
- {
- break;
- }
- depth++;
- origContent = s->type();
- s = SequencePtr::dynamicCast(origContent);
- }
- string origContentS = typeToString(origContent, TypeModeIn, package);
-
- TypePtr type = seq->type();
-
- if(customType)
- {
- //
- // Marshal/unmarshal a custom sequence type.
- //
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- string typeS = getAbsolute(seq, package);
- ostringstream o;
- o << origContentS;
- int d = depth;
- while(d--)
- {
- o << "[]";
- }
- string cont = o.str();
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << stream << ".writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << stream << ".writeSize(" << v << ".size());";
- string typeS = typeToString(type, TypeModeIn, package);
- out << nl << "for(" << typeS << " elem : " << v << ')';
- out << sb;
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", true, iter, false, customStream);
- out << eb;
- out << eb; // else
- }
- else
- {
- bool isObject = false;
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if((b && b->usesClasses()) || cl)
- {
- isObject = true;
- }
- out << nl << v << " = new " << instanceType << "();";
- out << nl << "final int len" << iter << " = " << stream << ".readAndCheckSeqSize(" << type->minWireSize()
- << ");";
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < len" << iter << "; i" << iter
- << "++)";
- out << sb;
- if(isObject)
- {
- //
- // Add a null value to the list as a placeholder for the element.
- //
- out << nl << v << ".add(null);";
- ostringstream patchParams;
- patchParams << "new IceInternal.ListPatcher<" << origContentS << ">(" << v << ", " << origContentS
- << ".class, i" << iter << ')';
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", false, iter,
- false, customStream, StringList(), patchParams.str());
- }
- else
- {
- if(StructPtr::dynamicCast(type))
- {
- out << nl << cont << " elem = null;";
- }
- else
- {
- out << nl << cont << " elem;";
- }
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", false, iter, false, customStream);
- }
- if(!isObject)
- {
- out << nl << v << ".add(elem);";
- }
- out << eb;
- iter++;
- }
- }
- else
- {
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(b && b->kind() != Builtin::KindObject &&
- b->kind() != Builtin::KindValue &&
- b->kind() != Builtin::KindObjectProxy)
- {
- switch(b->kind())
- {
- case Builtin::KindByte:
- {
- if(marshal)
- {
- out << nl << stream << ".writeByteSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readByteSeq();";
- }
- break;
- }
- case Builtin::KindBool:
- {
- if(marshal)
- {
- out << nl << stream << ".writeBoolSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readBoolSeq();";
- }
- break;
- }
- case Builtin::KindShort:
- {
- if(marshal)
- {
- out << nl << stream << ".writeShortSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readShortSeq();";
- }
- break;
- }
- case Builtin::KindInt:
- {
- if(marshal)
- {
- out << nl << stream << ".writeIntSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readIntSeq();";
- }
- break;
- }
- case Builtin::KindLong:
- {
- if(marshal)
- {
- out << nl << stream << ".writeLongSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readLongSeq();";
- }
- break;
- }
- case Builtin::KindFloat:
- {
- if(marshal)
- {
- out << nl << stream << ".writeFloatSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readFloatSeq();";
- }
- break;
- }
- case Builtin::KindDouble:
- {
- if(marshal)
- {
- out << nl << stream << ".writeDoubleSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readDoubleSeq();";
- }
- break;
- }
- case Builtin::KindString:
- {
- if(marshal)
- {
- out << nl << stream << ".writeStringSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readStringSeq();";
- }
- break;
- }
- case Builtin::KindValue:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- }
- }
- else
- {
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << stream << ".writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << stream << ".writeSize(" << v << ".length);";
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < " << v << ".length; i" << iter
- << "++)";
- out << sb;
- ostringstream o;
- o << v << "[i" << iter << "]";
- iter++;
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), true, iter, false, customStream);
- out << eb;
- out << eb;
- }
- else
- {
- bool isObject = false;
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(origContent);
- if((b && b->usesClasses()) || cl)
- {
- isObject = true;
- }
- out << nl << "final int len" << iter << " = " << stream << ".readAndCheckSeqSize("
- << type->minWireSize() << ");";
- //
- // We cannot allocate an array of a generic type, such as
- //
- // arr = new Map<String, String>[sz];
- //
- // Attempting to compile this code results in a "generic array creation" error
- // message. This problem can occur when the sequence's element type is a
- // dictionary, or when the element type is a nested sequence that uses a custom
- // mapping.
- //
- // The solution is to rewrite the code as follows:
- //
- // arr = (Map<String, String>[])new Map[sz];
- //
- // Unfortunately, this produces an unchecked warning during compilation.
- //
- // A simple test is to look for a "<" character in the content type, which
- // indicates the use of a generic type.
- //
- string::size_type pos = origContentS.find('<');
- if(pos != string::npos)
- {
- string nonGenericType = origContentS.substr(0, pos);
- out << nl << v << " = (" << origContentS << "[]";
- int d = depth;
- while(d--)
- {
- out << "[]";
- }
- out << ")new " << nonGenericType << "[len" << iter << "]";
- }
- else
- {
- out << nl << v << " = new " << origContentS << "[len" << iter << "]";
- }
- int d = depth;
- while(d--)
- {
- out << "[]";
- }
- out << ';';
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < len" << iter << "; i" << iter
- << "++)";
- out << sb;
- ostringstream o;
- o << v << "[i" << iter << "]";
- ostringstream patchParams;
- if(isObject)
- {
- patchParams << "new IceInternal.SequencePatcher(" << v << ", " << origContentS
- << ".class, i" << iter << ')';
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), false, iter,
- false, customStream, StringList(), patchParams.str());
- }
- else
- {
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), false,
- iter, false, customStream);
- }
- out << eb;
- iter++;
- }
- }
- }
-}
-
-bool
-Slice::JavaCompatGenerator::findMetaData(const string& prefix, const StringList& metaData, string& value)
-{
- for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); ++q)
- {
- if(q->find(prefix) == 0)
- {
- value = *q;
- return true;
- }
- }
-
- return false;
-}
-
-bool
-Slice::JavaCompatGenerator::getTypeMetaData(const StringList& metaData, string& instanceType, string& formalType)
-{
- //
- // Extract the instance type and an optional formal type.
- // The correct syntax is "java:type:instance-type[:formal-type]".
- //
- static const string prefix = "java:type:";
- string directive;
- if(findMetaData(prefix, metaData, directive))
- {
- string::size_type pos = directive.find(':', prefix.size());
- if(pos != string::npos)
- {
- instanceType = directive.substr(prefix.size(), pos - prefix.size());
- formalType = directive.substr(pos + 1);
- }
- else
- {
- instanceType = directive.substr(prefix.size());
- formalType.clear();
- }
- return true;
- }
-
- return false;
-}
-
-bool
-Slice::JavaCompatGenerator::hasTypeMetaData(const TypePtr& type, const StringList& localMetaData)
-{
- ContainedPtr cont = ContainedPtr::dynamicCast(type);
- if(cont)
- {
- static const string prefix = "java:type:";
- string directive;
-
- if(findMetaData(prefix, localMetaData, directive))
- {
- return true;
- }
-
- StringList metaData = cont->getMetaData();
-
- if(findMetaData(prefix, metaData, directive))
- {
- return true;
- }
-
- if(findMetaData("java:protobuf:", metaData, directive) ||
- findMetaData("java:serializable:", metaData, directive))
- {
- SequencePtr seq = SequencePtr::dynamicCast(cont);
- if(seq)
- {
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin && builtin->kind() == Builtin::KindByte)
- {
- return true;
- }
- }
- }
-
- if(findMetaData("java:buffer", localMetaData, directive))
- {
- SequencePtr seq = SequencePtr::dynamicCast(cont);
- if(seq)
- {
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- return true;
- }
- }
- }
- }
-
- return false;
-}
-
-bool
-Slice::JavaCompatGenerator::getDictionaryTypes(const DictionaryPtr& dict,
- const string& package,
- const StringList& metaData,
- string& instanceType,
- string& formalType) const
-{
- //
- // Get the types of the key and value.
- //
- string keyTypeStr = typeToObjectString(dict->keyType(), TypeModeIn, package);
- string valueTypeStr = typeToObjectString(dict->valueType(), TypeModeIn, package);
-
- //
- // Collect metadata for a custom type.
- //
- if(getTypeMetaData(metaData, instanceType, formalType) ||
- getTypeMetaData(dict->getMetaData(), instanceType, formalType))
- {
- assert(!instanceType.empty());
- if(formalType.empty())
- {
- formalType = "java.util.Map<" + keyTypeStr + ", " + valueTypeStr + ">";
- }
- return true;
- }
-
- //
- // Return a default type for the platform.
- //
- instanceType = "java.util.HashMap<" + keyTypeStr + ", " + valueTypeStr + ">";
- formalType = "java.util.Map<" + keyTypeStr + ", " + valueTypeStr + ">";
- return false;
-}
-
-bool
-Slice::JavaCompatGenerator::getSequenceTypes(const SequencePtr& seq,
- const string& package,
- const StringList& metaData,
- string& instanceType,
- string& formalType) const
-{
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin)
- {
- if(builtin->kind() == Builtin::KindByte)
- {
- string prefix = "java:serializable:";
- string meta;
- if(seq->findMetaData(prefix, meta))
- {
- instanceType = formalType = meta.substr(prefix.size());
- return true;
- }
- prefix = "java:protobuf:";
- if(seq->findMetaData(prefix, meta))
- {
- instanceType = formalType = meta.substr(prefix.size());
- return true;
- }
- }
-
- if((builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- string prefix = "java:buffer";
- string meta;
- string ignore;
- if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignore))
- {
- instanceType = formalType = typeToBufferString(seq->type());
- return true;
- }
- }
- }
-
- //
- // Collect metadata for a custom type.
- //
- if(getTypeMetaData(metaData, instanceType, formalType) ||
- getTypeMetaData(seq->getMetaData(), instanceType, formalType))
- {
- assert(!instanceType.empty());
- if(formalType.empty())
- {
- formalType = "java.util.List<" + typeToObjectString(seq->type(), TypeModeIn, package) + ">";
- }
- return true;
- }
-
- //
- // The default mapping is a native array.
- //
- instanceType = formalType = typeToString(seq->type(), TypeModeIn, package, metaData) + "[]";
- return false;
-}
-
-bool
-Slice::JavaCompatGenerator::sequenceHasHolder(const SequencePtr& p) const
-{
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type());
- if(builtin && builtin->kind() == Builtin::KindByte)
- {
- string prefix = "java:serializable:";
- string meta;
- if(p->findMetaData(prefix, meta))
- {
- return false;
- }
- prefix = "java:protobuf:";
- if(p->findMetaData(prefix, meta))
- {
- return false;
- }
- }
-
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- string meta;
- string prefix = "java:buffer";
- if(p->findMetaData(prefix, meta))
- {
- return false;
- }
- }
-
- return true;
-}
-
-
-JavaOutput*
-Slice::JavaCompatGenerator::createOutput()
-{
- return new JavaOutput;
-}
-
-void
-Slice::JavaCompatGenerator::validateMetaData(const UnitPtr& u)
-{
- MetaDataVisitor visitor;
- u->visit(&visitor, true);
-}
-
-const string Slice::JavaGenerator::_getSetMetaData = "java:getset";
-
-Slice::JavaGenerator::JavaGenerator(const string& dir) :
- _dir(dir),
- _out(0)
-{
-}
-
-Slice::JavaGenerator::~JavaGenerator()
-{
- // If open throws an exception other generators could be left open
- // during the stack unwind.
- if(_out != 0)
- {
- close();
- }
- assert(_out == 0);
-}
-
-void
-Slice::JavaGenerator::open(const string& absolute, const string& file)
-{
- assert(_out == 0);
-
- JavaOutput* out = createOutput();
- try
- {
- out->openClass(absolute, _dir, file);
- }
- catch(const FileException&)
- {
- delete out;
- throw;
- }
- _out = out;
-}
-
-void
-Slice::JavaGenerator::close()
-{
- assert(_out != 0);
- *_out << nl;
- delete _out;
- _out = 0;
-}
-
-Output&
-Slice::JavaGenerator::output() const
-{
- assert(_out != 0);
- return *_out;
-}
-
-//
-// If the passed name is a scoped name, return the identical scoped name,
-// but with all components that are Java keywords replaced by
-// their "_"-prefixed version; otherwise, if the passed name is
-// not scoped, but a Java keyword, return the "_"-prefixed name;
-// otherwise, return the name unchanged.
-//
-string
-Slice::JavaGenerator::fixKwd(const string& name) const
-{
- if(name.empty())
- {
- return name;
- }
- if(name[0] != ':')
- {
- return lookupKwd(name);
- }
- StringList ids = splitScopedName(name);
- transform(ids.begin(), ids.end(), ids.begin(), ptr_fun(lookupKwd));
- stringstream result;
- for(StringList::const_iterator i = ids.begin(); i != ids.end(); ++i)
- {
- result << "::" + *i;
- }
- return result.str();
-}
-
-string
-Slice::JavaGenerator::convertScopedName(const string& scoped, const string& prefix, const string& suffix) const
-{
- string result;
- string::size_type start = 0;
- string fscoped = fixKwd(scoped);
-
- //
- // Skip leading "::"
- //
- if(fscoped[start] == ':')
- {
- assert(fscoped[start + 1] == ':');
- start += 2;
- }
-
- //
- // Convert all occurrences of "::" to "."
- //
- string::size_type pos;
- do
- {
- pos = fscoped.find(':', start);
- string fix;
- if(pos == string::npos)
- {
- string s = fscoped.substr(start);
- if(!s.empty())
- {
- fix = prefix + fixKwd(s) + suffix;
- }
- }
- else
- {
- assert(fscoped[pos + 1] == ':');
- fix = fixKwd(fscoped.substr(start, pos - start));
- start = pos + 2;
- }
-
- if(!result.empty() && !fix.empty())
- {
- result += ".";
- }
- result += fix;
- }
- while(pos != string::npos);
-
- return result;
-}
-
-string
-Slice::JavaGenerator::getPackagePrefix(const ContainedPtr& cont) const
-{
- UnitPtr unit = cont->container()->unit();
- string file = cont->file();
- assert(!file.empty());
-
- map<string, string>::const_iterator p = _filePackagePrefix.find(file);
- if(p != _filePackagePrefix.end())
- {
- return p->second;
- }
-
- static const string prefix = "java:package:";
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
- assert(dc);
- string q = dc->findMetaData(prefix);
- if(!q.empty())
- {
- q = q.substr(prefix.size());
- }
- _filePackagePrefix[file] = q;
- return q;
-}
-
-string
-Slice::JavaGenerator::getPackage(const ContainedPtr& cont) const
-{
- string scope = convertScopedName(cont->scope());
- string prefix = getPackagePrefix(cont);
- if(!prefix.empty())
- {
- if(!scope.empty())
- {
- return prefix + "." + scope;
- }
- else
- {
- return prefix;
- }
- }
-
- return scope;
-}
-
-string
-Slice::JavaGenerator::getAbsolute(const ContainedPtr& cont,
- const string& package,
- const string& prefix,
- const string& suffix) const
-{
- string name = cont->name();
- if(prefix == "" && suffix == "")
- {
- name = fixKwd(name);
- }
- string contPkg = getPackage(cont);
- if(contPkg == package)
- {
- return prefix + name + suffix;
- }
- else if(!contPkg.empty())
- {
- return contPkg + "." + prefix + name + suffix;
- }
- else
- {
- return prefix + name + suffix;
- }
-}
-
-string
-Slice::JavaGenerator::getStaticId(const TypePtr& type, const string& package) const
-{
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
-
- assert((b && b->usesClasses()) || cl);
-
- if(b && b->kind() == Builtin::KindObject)
- {
- return "com.zeroc.Ice.Object.ice_staticId()";
- }
- else if(b && b->kind() == Builtin::KindValue)
- {
- return "com.zeroc.Ice.Value.ice_staticId()";
- }
- else
- {
- return getAbsolute(cl, package) + ".ice_staticId()";
- }
-}
-
-bool
-Slice::JavaGenerator::useOptionalMapping(const OperationPtr& p)
-{
- //
- // The "java:optional" metadata can be applied to an operation or its
- // interface to force the mapping to use the Optional types.
- //
- // Without the tag, parameters use the normal (non-optional) mapping.
- //
- static const string tag = "java:optional";
-
- ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container());
- assert(cl);
-
- return p->hasMetaData(tag) || cl->hasMetaData(tag);
-}
-
-string
-Slice::JavaGenerator::getOptionalFormat(const TypePtr& type)
-{
- const string prefix = "com.zeroc.Ice.OptionalFormat.";
-
- BuiltinPtr bp = BuiltinPtr::dynamicCast(type);
- if(bp)
- {
- switch(bp->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- {
- return prefix + "F1";
- }
- case Builtin::KindShort:
- {
- return prefix + "F2";
- }
- case Builtin::KindInt:
- case Builtin::KindFloat:
- {
- return prefix + "F4";
- }
- case Builtin::KindLong:
- case Builtin::KindDouble:
- {
- return prefix + "F8";
- }
- case Builtin::KindString:
- {
- return prefix + "VSize";
- }
- case Builtin::KindObject:
- {
- return prefix + "Class";
- }
- case Builtin::KindObjectProxy:
- {
- return prefix + "FSize";
- }
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- case Builtin::KindValue:
- {
- return prefix + "Class";
- }
- }
- }
-
- if(EnumPtr::dynamicCast(type))
- {
- return prefix + "Size";
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- return seq->type()->isVariableLength() ? prefix + "FSize" : prefix + "VSize";
- }
-
- DictionaryPtr d = DictionaryPtr::dynamicCast(type);
- if(d)
- {
- return (d->keyType()->isVariableLength() || d->valueType()->isVariableLength()) ?
- prefix + "FSize" : prefix + "VSize";
- }
-
- StructPtr st = StructPtr::dynamicCast(type);
- if(st)
- {
- return st->isVariableLength() ? prefix + "FSize" : prefix + "VSize";
- }
-
- if(ProxyPtr::dynamicCast(type))
- {
- return prefix + "FSize";
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- assert(cl);
- return prefix + "Class";
-}
-
-string
-Slice::JavaGenerator::typeToString(const TypePtr& type,
- TypeMode mode,
- const string& package,
- const StringList& metaData,
- bool formal,
- bool optional,
- bool local) const
-{
- static const char* builtinTable[] =
- {
- "byte",
- "boolean",
- "short",
- "int",
- "long",
- "float",
- "double",
- "String",
- "com.zeroc.Ice.Value",
- "com.zeroc.Ice.ObjectPrx",
- "java.lang.Object",
- "com.zeroc.Ice.Value"
- };
- static const char* builtinLocalTable[] =
- {
- "byte",
- "boolean",
- "short",
- "int",
- "long",
- "float",
- "double",
- "String",
- "com.zeroc.Ice.Object",
- "com.zeroc.Ice.ObjectPrx",
- "java.lang.Object",
- "com.zeroc.Ice.Value"
- };
- static const char* builtinOptionalTable[] =
- {
- "java.util.Optional<java.lang.Byte>",
- "java.util.Optional<java.lang.Boolean>",
- "java.util.Optional<java.lang.Short>",
- "java.util.OptionalInt",
- "java.util.OptionalLong",
- "java.util.Optional<java.lang.Float>",
- "java.util.OptionalDouble",
- "???",
- "???",
- "???",
- "???",
- "???"
- };
-
- if(!type)
- {
- assert(mode == TypeModeReturn);
- return "void";
- }
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin)
- {
- if(optional)
- {
- switch(builtin->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- case Builtin::KindShort:
- case Builtin::KindInt:
- case Builtin::KindLong:
- case Builtin::KindFloat:
- case Builtin::KindDouble:
- {
- return builtinOptionalTable[builtin->kind()];
- }
- case Builtin::KindString:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- case Builtin::KindValue:
- {
- break;
- }
- }
- }
- else
- {
- return local ? builtinLocalTable[builtin->kind()] : builtinTable[builtin->kind()];
- }
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
-
- if(optional)
- {
- return "java.util.Optional<" + typeToObjectString(type, mode, package, metaData, formal, local) + ">";
- }
-
- if(cl)
- {
- if(cl->isInterface() && !local)
- {
- return "com.zeroc.Ice.Value";
- }
- else
- {
- return getAbsolute(cl, package);
- }
- }
-
- ProxyPtr proxy = ProxyPtr::dynamicCast(type);
- if(proxy)
- {
- ClassDefPtr def = proxy->_class()->definition();
- assert(def);
- if(def->isAbstract())
- {
- return getAbsolute(proxy->_class(), package, "", "Prx");
- }
- else
- {
- return "com.zeroc.Ice.ObjectPrx";
- }
- }
-
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
- if(dict)
- {
- string instanceType, formalType;
- getDictionaryTypes(dict, package, metaData, instanceType, formalType, local);
- return formal ? formalType : instanceType;
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- string instanceType, formalType;
- getSequenceTypes(seq, package, metaData, instanceType, formalType, local);
- return formal ? formalType : instanceType;
- }
-
- ContainedPtr contained = ContainedPtr::dynamicCast(type);
- if(contained)
- {
- if(mode == TypeModeOut)
- {
- return getAbsolute(contained, package, "", "Holder");
- }
- else
- {
- return getAbsolute(contained, package);
- }
- }
-
- return "???";
-}
-
-string
-Slice::JavaGenerator::typeToObjectString(const TypePtr& type,
- TypeMode mode,
- const string& package,
- const StringList& metaData,
- bool formal,
- bool local) const
-{
- static const char* builtinTable[] =
- {
- "java.lang.Byte",
- "java.lang.Boolean",
- "java.lang.Short",
- "java.lang.Integer",
- "java.lang.Long",
- "java.lang.Float",
- "java.lang.Double",
- "java.lang.String",
- "com.zeroc.Ice.Value",
- "com.zeroc.Ice.ObjectPrx",
- "java.lang.Object",
- "com.zeroc.Ice.Value"
- };
- static const char* builtinLocalTable[] =
- {
- "java.lang.Byte",
- "java.lang.Boolean",
- "java.lang.Short",
- "java.lang.Integer",
- "java.lang.Long",
- "java.lang.Float",
- "java.lang.Double",
- "java.lang.String",
- "com.zeroc.Ice.Object",
- "com.zeroc.Ice.ObjectPrx",
- "java.lang.Object",
- "com.zeroc.Ice.Value"
- };
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin && mode != TypeModeOut)
- {
- return local ? builtinLocalTable[builtin->kind()] : builtinTable[builtin->kind()];
- }
-
- return typeToString(type, mode, package, metaData, formal, false, local);
-}
-
-void
-Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
- const string& package,
- const TypePtr& type,
- OptionalMode mode,
- bool optionalMapping,
- int tag,
- const string& param,
- bool marshal,
- int& iter,
- const string& customStream,
- const StringList& metaData,
- const string& patchParams)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
-
- const bool optionalParam = mode == OptionalInParam || mode == OptionalOutParam || mode == OptionalReturnParam;
- string typeS = typeToString(type, TypeModeIn, package, metaData);
-
- assert(!marshal || mode != OptionalMember); // Only support OptionalMember for un-marshaling
-
- static const char* builtinTable[] =
- {
- "Byte",
- "Bool",
- "Short",
- "Int",
- "Long",
- "Float",
- "Double",
- "String",
- "???",
- "???",
- "???"
- };
-
- const BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
- if(builtin)
- {
- switch(builtin->kind())
- {
- case Builtin::KindByte:
- case Builtin::KindBool:
- case Builtin::KindShort:
- case Builtin::KindInt:
- case Builtin::KindLong:
- case Builtin::KindFloat:
- case Builtin::KindDouble:
- case Builtin::KindString:
- {
- string s = builtinTable[builtin->kind()];
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".write" << s << "(" << tag << ", " << param << ");";
- }
- else
- {
- out << nl << stream << ".write" << s << "(" << param << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << param << " = " << stream << ".read" << s << "(" << tag << ");";
- }
- else
- {
- out << nl << param << " = " << stream << ".read" << s << "();";
- }
- }
- break;
- }
- case Builtin::KindObject:
- case Builtin::KindValue:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeValue(" << tag << ", " << param << ");";
- }
- else
- {
- out << nl << stream << ".writeValue(" << param << ");";
- }
- }
- else
- {
- assert(!patchParams.empty());
- if(optionalParam)
- {
- out << nl << stream << ".readValue(" << tag << ", " << patchParams << ");";
- }
- else
- {
- out << nl << stream << ".readValue(" << patchParams << ");";
- }
- }
- break;
- }
- case Builtin::KindObjectProxy:
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeProxy(" << tag << ", " << param << ");";
- }
- else
- {
- out << nl << stream << ".writeProxy(" << param << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << param << " = " << stream << ".readProxy(" << tag << ");";
- }
- else if(mode == OptionalMember)
- {
- out << nl << stream << ".skip(4);";
- out << nl << param << " = " << stream << ".readProxy();";
- }
- else
- {
- out << nl << param << " = " << stream << ".readProxy();";
- }
- }
- break;
- }
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- }
- return;
- }
-
- ProxyPtr prx = ProxyPtr::dynamicCast(type);
- if(prx)
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeProxy(" << tag << ", " << param << ");";
- }
- else
- {
- out << nl << stream << ".writeProxy(" << param << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << param << " = " << stream << ".readProxy(" << tag << ", " << typeS << "::uncheckedCast);";
- }
- else if(mode == OptionalMember)
- {
- out << nl << stream << ".skip(4);";
- out << nl << param << " = " << typeS << ".uncheckedCast(" << stream << ".readProxy());";
- }
- else
- {
- out << nl << param << " = " << typeS << ".uncheckedCast(" << stream << ".readProxy());";
- }
- }
- return;
- }
-
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if(cl)
- {
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << stream << ".writeValue(" << tag << ", " << param << ");";
- }
- else
- {
- out << nl << stream << ".writeValue(" << param << ");";
- }
- }
- else
- {
- assert(!patchParams.empty());
- if(optionalParam)
- {
- out << nl << stream << ".readValue(" << tag << ", " << patchParams << ");";
- }
- else
- {
- out << nl << stream << ".readValue(" << patchParams << ");";
- }
- }
- return;
- }
-
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
- if(dict)
- {
- if(optionalParam || mode == OptionalMember)
- {
- string instanceType, formalType, origInstanceType, origFormalType;
- getDictionaryTypes(dict, "", metaData, instanceType, formalType, false);
- getDictionaryTypes(dict, "", StringList(), origInstanceType, origFormalType, false);
- if(formalType == origFormalType && (marshal || instanceType == origInstanceType))
- {
- //
- // If we can use the helper, it's easy.
- //
- string helper = getAbsolute(dict, package, "", "Helper");
- if(marshal)
- {
- out << nl << helper << ".write" << spar << stream << tag << param << epar << ";";
- return;
- }
- else if(mode != OptionalMember)
- {
- out << nl << param << " = " << helper << ".read" << spar << stream << tag << epar << ";";
- return;
- }
- }
-
- TypePtr keyType = dict->keyType();
- TypePtr valueType = dict->valueType();
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl;
- if(optionalMapping)
- {
- out << "if(" << param << " != null && " << param << ".isPresent() && " << stream
- << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- }
- else
- {
- out << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- }
- out << sb;
- }
-
- if(keyType->isVariableLength() || valueType->isVariableLength())
- {
- string d = optionalParam && optionalMapping ? param + ".get()" : param;
- out << nl << "int pos = " << stream << ".startSize();";
- writeDictionaryMarshalUnmarshalCode(out, package, dict, d, marshal, iter, true, customStream, metaData);
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- const size_t sz = keyType->minWireSize() + valueType->minWireSize();
- string d = optionalParam && optionalMapping ? param + ".get()" : param;
- out << nl << "final int optSize = " << d << " == null ? 0 : " << d << ".size();";
- out << nl << stream
- << ".writeSize(optSize > 254 ? optSize * " << sz << " + 5 : optSize * " << sz << " + 1);";
- writeDictionaryMarshalUnmarshalCode(out, package, dict, d, marshal, iter, true, customStream, metaData);
- }
-
- if(optionalParam)
- {
- out << eb;
- }
- }
- else
- {
- string d = optionalParam ? "optDict" : param;
- if(optionalParam)
- {
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ' ' << d << ';';
- }
- if(keyType->isVariableLength() || valueType->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else
- {
- out << nl << stream << ".skipSize();";
- }
- writeDictionaryMarshalUnmarshalCode(out, package, dict, d, marshal, iter, true, customStream, metaData);
- if(optionalParam)
- {
- out << nl << param << " = java.util.Optional.of(" << d << ");";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << param << " = java.util.Optional.empty();";
- out << eb;
- }
- }
- }
- else
- {
- writeDictionaryMarshalUnmarshalCode(out, package, dict, param, marshal, iter, true, customStream, metaData);
- }
- return;
- }
-
- SequencePtr seq = SequencePtr::dynamicCast(type);
- if(seq)
- {
- if(optionalParam || mode == OptionalMember)
- {
- string ignore;
- TypePtr elemType = seq->type();
- BuiltinPtr eltBltin = BuiltinPtr::dynamicCast(elemType);
- if(!hasTypeMetaData(seq, metaData) && eltBltin && eltBltin->kind() < Builtin::KindObject)
- {
- string bs = builtinTable[eltBltin->kind()];
- if(marshal)
- {
- out << nl << stream << ".write" << bs << "Seq(" << tag << ", " << param << ");";
- return;
- }
- else if(mode != OptionalMember)
- {
- out << nl << param << " = " << stream << ".read" << bs << "Seq(" << tag << ");";
- return;
- }
- }
- else if(findMetaData("java:serializable", seq->getMetaData(), ignore))
- {
- if(marshal)
- {
- out << nl << stream << ".writeSerializable" << spar << tag << param << epar << ";";
- return;
- }
- else if(mode != OptionalMember)
- {
- out << nl << param << " = " << stream << ".readSerializable" << spar << tag << typeS + ".class" << epar << ";";
- return;
- }
- }
- else if(!hasTypeMetaData(seq, metaData) ||
- findMetaData("java:type", seq->getMetaData(), ignore) ||
- findMetaData("java:type", metaData, ignore))
- {
- string instanceType, formalType, origInstanceType, origFormalType;
- getSequenceTypes(seq, "", metaData, instanceType, formalType, false);
- getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType, false);
- if(formalType == origFormalType && (marshal || instanceType == origInstanceType))
- {
- string helper = getAbsolute(seq, package, "", "Helper");
- if(marshal)
- {
- out << nl << helper << ".write" << spar << stream << tag << param << epar << ";";
- return;
- }
- else if(mode != OptionalMember)
- {
- out << nl << param << " = " << helper << ".read" << spar << stream << tag << epar << ";";
- return;
- }
- }
- }
-
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl;
- if(optionalMapping)
- {
- out << "if(" << param << " != null && " << param << ".isPresent() && " << stream
- << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- }
- else
- {
- out << "if(" << stream << ".writeOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- }
- out << sb;
- }
-
- if(elemType->isVariableLength())
- {
- string s = optionalParam && optionalMapping ? param + ".get()" : param;
- out << nl << "int pos = " << stream << ".startSize();";
- writeSequenceMarshalUnmarshalCode(out, package, seq, s, true, iter, true, customStream, metaData);
- out << nl << stream << ".endSize(pos);";
- }
- else
- {
- const size_t sz = elemType->minWireSize();
- string s = optionalParam && optionalMapping ? param + ".get()" : param;
- if(sz > 1)
- {
- string ignore;
- out << nl << "final int optSize = " << s << " == null ? 0 : ";
- if(findMetaData("java:buffer", seq->getMetaData(), ignore) ||
- findMetaData("java:buffer", metaData, ignore))
- {
- out << s << ".remaining() / " << sz << ";";
- }
- else if(hasTypeMetaData(seq, metaData))
- {
- out << s << ".size();";
- }
- else
- {
- out << s << ".length;";
- }
- out << nl << stream << ".writeSize(optSize > 254 ? optSize * " << sz
- << " + 5 : optSize * " << sz << " + 1);";
- }
- writeSequenceMarshalUnmarshalCode(out, package, seq, s, true, iter, true, customStream, metaData);
- }
-
- if(optionalParam)
- {
- out << eb;
- }
- }
- else
- {
- const size_t sz = elemType->minWireSize();
- string s = optionalParam ? "optSeq" : param;
- if(optionalParam)
- {
- out << nl << "if(" << stream << ".readOptional(" << tag << ", " << getOptionalFormat(type) << "))";
- out << sb;
- out << nl << typeS << ' ' << s << ';';
- }
- if(elemType->isVariableLength())
- {
- out << nl << stream << ".skip(4);";
- }
- else if(sz > 1)
- {
- out << nl << stream << ".skipSize();";
- }
- writeSequenceMarshalUnmarshalCode(out, package, seq, s, false, iter, true, customStream, metaData);
- if(optionalParam)
- {
- out << nl << param << " = java.util.Optional.of(" << s << ");";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << param << " = java.util.Optional.empty();";
- out << eb;
- }
- }
- }
- else
- {
- writeSequenceMarshalUnmarshalCode(out, package, seq, param, marshal, iter, true, customStream, metaData);
- }
- return;
- }
-
- ConstructedPtr constructed = ConstructedPtr::dynamicCast(type);
- StructPtr st = StructPtr::dynamicCast(type);
- assert(constructed);
- if(marshal)
- {
- if(optionalParam)
- {
- out << nl << typeS << ".ice_write(" << stream << ", " << tag << ", " << param << ");";
- }
- else
- {
- out << nl << typeS << ".ice_write(" << stream << ", " << param << ");";
- }
- }
- else
- {
- if(optionalParam)
- {
- out << nl << param << " = " << typeS << ".ice_read(" << stream << ", " << tag << ");";
- }
- else if(mode == OptionalMember && st)
- {
- out << nl << stream << (st->isVariableLength() ? ".skip(4);" : ".skipSize();");
- out << nl << param << " = " << typeS << ".ice_read(" << stream << ");";
- }
- else
- {
- out << nl << param << " = " << typeS << ".ice_read(" << stream << ");";
- }
- }
-}
-
-void
-Slice::JavaGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
- const string& package,
- const DictionaryPtr& dict,
- const string& param,
- bool marshal,
- int& iter,
- bool useHelper,
- const string& customStream,
- const StringList& metaData)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
-
- string v = param;
-
- //
- // We have to determine whether it's possible to use the
- // type's generated helper class for this marshal/unmarshal
- // task. Since the user may have specified a custom type in
- // metadata, it's possible that the helper class is not
- // compatible and therefore we'll need to generate the code
- // in-line instead.
- //
- // Specifically, there may be "local" metadata (i.e., from
- // a data member or parameter definition) that overrides the
- // original type. We'll compare the mapped types with and
- // without local metadata to determine whether we can use
- // the helper.
- //
- string instanceType, formalType, origInstanceType, origFormalType;
- getDictionaryTypes(dict, "", metaData, instanceType, formalType, false);
- getDictionaryTypes(dict, "", StringList(), origInstanceType, origFormalType, false);
- if(useHelper && formalType == origFormalType && (marshal || instanceType == origInstanceType))
- {
- //
- // If we can use the helper, it's easy.
- //
- string helper = getAbsolute(dict, package, "", "Helper");
- if(marshal)
- {
- out << nl << helper << ".write" << spar << stream << v << epar << ";";
- }
- else
- {
- out << nl << v << " = " << helper << ".read" << spar << stream << epar << ";";
- }
- return;
- }
-
- TypePtr key = dict->keyType();
- TypePtr value = dict->valueType();
-
- string keyS = typeToString(key, TypeModeIn, package);
- string valueS = typeToString(value, TypeModeIn, package);
-
- ostringstream o;
- o << iter;
- string iterS = o.str();
- iter++;
-
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << "ostr.writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << "ostr.writeSize(" << v << ".size());";
- string keyObjectS = typeToObjectString(key, TypeModeIn, package);
- string valueObjectS = typeToObjectString(value, TypeModeIn, package);
- out << nl;
- out << "for(java.util.Map.Entry<" << keyObjectS << ", " << valueObjectS << "> e : " << v << ".entrySet())";
- out << sb;
- for(int i = 0; i < 2; i++)
- {
- string arg;
- TypePtr type;
- if(i == 0)
- {
- arg = "e.getKey()";
- type = key;
- }
- else
- {
- arg = "e.getValue()";
- type = value;
- }
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, arg, true, iter, customStream);
- }
- out << eb;
- out << eb;
- }
- else
- {
- out << nl << v << " = new " << instanceType << "();";
- out << nl << "int sz" << iterS << " = " << stream << ".readSize();";
- out << nl << "for(int i" << iterS << " = 0; i" << iterS << " < sz" << iterS << "; i" << iterS << "++)";
- out << sb;
-
- BuiltinPtr b = BuiltinPtr::dynamicCast(value);
- if(ClassDeclPtr::dynamicCast(value) || (b && b->usesClasses()))
- {
- out << nl << "final " << keyS << " key;";
- writeMarshalUnmarshalCode(out, package, key, OptionalNone, false, 0, "key", false, iter, customStream);
-
- string valueS = typeToObjectString(value, TypeModeIn, package);
- ostringstream patchParams;
- patchParams << "value -> " << v << ".put(key, value), " << valueS << ".class";
- writeMarshalUnmarshalCode(out, package, value, OptionalNone, false, 0, "value", false, iter, customStream,
- StringList(), patchParams.str());
- }
- else
- {
- out << nl << keyS << " key;";
- writeMarshalUnmarshalCode(out, package, key, OptionalNone, false, 0, "key", false, iter, customStream);
-
- out << nl << valueS << " value;";
- writeMarshalUnmarshalCode(out, package, value, OptionalNone, false, 0, "value", false, iter, customStream);
-
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(value);
- if(!(builtin && builtin->usesClasses()) && !ClassDeclPtr::dynamicCast(value))
- {
- out << nl << "" << v << ".put(key, value);";
- }
- }
- out << eb;
- }
-}
-
-void
-Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
- const string& package,
- const SequencePtr& seq,
- const string& param,
- bool marshal,
- int& iter,
- bool useHelper,
- const string& customStream,
- const StringList& metaData)
-{
- string stream = customStream;
- if(stream.empty())
- {
- stream = marshal ? "ostr" : "istr";
- }
-
- string typeS = typeToString(seq, TypeModeIn, package);
- string v = param;
-
- //
- // If the sequence is a byte sequence, check if there's the serializable or protobuf metadata to
- // get rid of these two easy cases first.
- //
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin && builtin->kind() == Builtin::KindByte)
- {
- string meta;
- static const string protobuf = "java:protobuf:";
- static const string serializable = "java:serializable:";
- if(seq->findMetaData(serializable, meta))
- {
- if(marshal)
- {
- out << nl << stream << ".writeSerializable(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readSerializable(" << typeS << ".class);";
- }
- return;
- }
- else if(seq->findMetaData(protobuf, meta))
- {
- if(marshal)
- {
- out << nl << "if(!" << v << ".isInitialized())";
- out << sb;
- out << nl << "throw new com.zeroc.Ice.MarshalException(\"type not fully initialized\");";
- out << eb;
- out << nl << stream << ".writeByteSeq(" << v << ".toByteArray());";
- }
- else
- {
- string type = typeToString(seq, TypeModeIn, package);
- out << nl << "try";
- out << sb;
- out << nl << v << " = " << typeS << ".parseFrom(" << stream << ".readByteSeq());";
- out << eb;
- out << nl << "catch(com.google.protobuf.InvalidProtocolBufferException ex)";
- out << sb;
- out << nl << "throw new com.zeroc.Ice.MarshalException(ex);";
- out << eb;
- }
- return;
- }
- }
-
- static const char* builtinTable[] =
- {
- "Byte",
- "Bool",
- "Short",
- "Int",
- "Long",
- "Float",
- "Double",
- "String"
- };
-
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- string meta;
- static const string bytebuffer = "java:buffer";
- if(seq->findMetaData(bytebuffer, meta) || findMetaData(bytebuffer, metaData, meta))
- {
- if(marshal)
- {
- out << nl << stream << ".write" << builtinTable[builtin->kind()] << "Buffer(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".read" << builtinTable[builtin->kind()] << "Buffer();";
- }
- return;
- }
- }
-
- if(!hasTypeMetaData(seq, metaData) && builtin && builtin->kind() <= Builtin::KindString)
- {
- if(marshal)
- {
- out << nl << stream << ".write" << builtinTable[builtin->kind()] << "Seq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".read" << builtinTable[builtin->kind()] << "Seq();";
- }
- return;
- }
-
- //
- // We have to determine whether it's possible to use the
- // type's generated helper class for this marshal/unmarshal
- // task. Since the user may have specified a custom type in
- // metadata, it's possible that the helper class is not
- // compatible and therefore we'll need to generate the code
- // in-line instead.
- //
- // Specifically, there may be "local" metadata (i.e., from
- // a data member or parameter definition) that overrides the
- // original type. We'll compare the mapped types with and
- // without local metadata to determine whether we can use
- // the helper.
- //
- string instanceType, formalType, origInstanceType, origFormalType;
- bool customType = getSequenceTypes(seq, "", metaData, instanceType, formalType, false);
- getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType, false);
- if(useHelper && formalType == origFormalType && (marshal || instanceType == origInstanceType))
- {
- //
- // If we can use the helper, it's easy.
- //
- string helper = getAbsolute(seq, package, "", "Helper");
- if(marshal)
- {
- out << nl << helper << ".write" << spar << stream << v << epar << ";";
- }
- else
- {
- out << nl << v << " = " << helper << ".read" << spar << stream << epar << ";";
- }
- return;
- }
-
- //
- // Determine sequence depth.
- //
- int depth = 0;
- TypePtr origContent = seq->type();
- SequencePtr s = SequencePtr::dynamicCast(origContent);
- while(s)
- {
- //
- // Stop if the inner sequence type has a custom, serializable or protobuf type.
- //
- if(hasTypeMetaData(s))
- {
- break;
- }
- depth++;
- origContent = s->type();
- s = SequencePtr::dynamicCast(origContent);
- }
- string origContentS = typeToString(origContent, TypeModeIn, package);
-
- TypePtr type = seq->type();
-
- if(customType)
- {
- //
- // Marshal/unmarshal a custom sequence type.
- //
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- string typeS = getAbsolute(seq, package);
- ostringstream o;
- o << origContentS;
- int d = depth;
- while(d--)
- {
- o << "[]";
- }
- string cont = o.str();
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << stream << ".writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << stream << ".writeSize(" << v << ".size());";
- string typeS = typeToString(type, TypeModeIn, package);
- out << nl << "for(" << typeS << " elem : " << v << ')';
- out << sb;
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", true, iter, customStream);
- out << eb;
- out << eb; // else
- }
- else
- {
- bool isObject = false;
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if((b && b->usesClasses()) || cl)
- {
- isObject = true;
- }
- out << nl << v << " = new " << instanceType << "();";
- out << nl << "final int len" << iter << " = " << stream << ".readAndCheckSeqSize(" << type->minWireSize()
- << ");";
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < len" << iter << "; i" << iter << "++)";
- out << sb;
- if(isObject)
- {
- //
- // Add a null value to the list as a placeholder for the element.
- //
- out << nl << v << ".add(null);";
- ostringstream patchParams;
- out << nl << "final int fi" << iter << " = i" << iter << ";";
- patchParams << "value -> " << v << ".set(fi" << iter << ", value), " << origContentS << ".class";
-
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", false, iter,
- customStream, StringList(), patchParams.str());
- }
- else
- {
- out << nl << cont << " elem;";
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", false, iter, customStream);
- out << nl << v << ".add(elem);";
- }
- out << eb;
- iter++;
- }
- }
- else
- {
- BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(b && b->kind() != Builtin::KindObject &&
- b->kind() != Builtin::KindValue &&
- b->kind() != Builtin::KindObjectProxy)
- {
- switch(b->kind())
- {
- case Builtin::KindByte:
- {
- if(marshal)
- {
- out << nl << stream << ".writeByteSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readByteSeq();";
- }
- break;
- }
- case Builtin::KindBool:
- {
- if(marshal)
- {
- out << nl << stream << ".writeBoolSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readBoolSeq();";
- }
- break;
- }
- case Builtin::KindShort:
- {
- if(marshal)
- {
- out << nl << stream << ".writeShortSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readShortSeq();";
- }
- break;
- }
- case Builtin::KindInt:
- {
- if(marshal)
- {
- out << nl << stream << ".writeIntSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readIntSeq();";
- }
- break;
- }
- case Builtin::KindLong:
- {
- if(marshal)
- {
- out << nl << stream << ".writeLongSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readLongSeq();";
- }
- break;
- }
- case Builtin::KindFloat:
- {
- if(marshal)
- {
- out << nl << stream << ".writeFloatSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readFloatSeq();";
- }
- break;
- }
- case Builtin::KindDouble:
- {
- if(marshal)
- {
- out << nl << stream << ".writeDoubleSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readDoubleSeq();";
- }
- break;
- }
- case Builtin::KindString:
- {
- if(marshal)
- {
- out << nl << stream << ".writeStringSeq(" << v << ");";
- }
- else
- {
- out << nl << v << " = " << stream << ".readStringSeq();";
- }
- break;
- }
- case Builtin::KindValue:
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- {
- assert(false);
- break;
- }
- }
- }
- else
- {
- if(marshal)
- {
- out << nl << "if(" << v << " == null)";
- out << sb;
- out << nl << stream << ".writeSize(0);";
- out << eb;
- out << nl << "else";
- out << sb;
- out << nl << stream << ".writeSize(" << v << ".length);";
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < " << v << ".length; i" << iter
- << "++)";
- out << sb;
- ostringstream o;
- o << v << "[i" << iter << "]";
- iter++;
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), true, iter, customStream);
- out << eb;
- out << eb;
- }
- else
- {
- bool isObject = false;
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(origContent);
- if((b && b->usesClasses()) || cl)
- {
- isObject = true;
- }
- out << nl << "final int len" << iter << " = " << stream << ".readAndCheckSeqSize("
- << type->minWireSize() << ");";
- //
- // We cannot allocate an array of a generic type, such as
- //
- // arr = new Map<String, String>[sz];
- //
- // Attempting to compile this code results in a "generic array creation" error
- // message. This problem can occur when the sequence's element type is a
- // dictionary, or when the element type is a nested sequence that uses a custom
- // mapping.
- //
- // The solution is to rewrite the code as follows:
- //
- // arr = (Map<String, String>[])new Map[sz];
- //
- // Unfortunately, this produces an unchecked warning during compilation.
- //
- // A simple test is to look for a "<" character in the content type, which
- // indicates the use of a generic type.
- //
- string::size_type pos = origContentS.find('<');
- if(pos != string::npos)
- {
- string nonGenericType = origContentS.substr(0, pos);
- out << nl << v << " = (" << origContentS << "[]";
- int d = depth;
- while(d--)
- {
- out << "[]";
- }
- out << ")new " << nonGenericType << "[len" << iter << "]";
- }
- else
- {
- out << nl << v << " = new " << origContentS << "[len" << iter << "]";
- }
- int d = depth;
- while(d--)
- {
- out << "[]";
- }
- out << ';';
- out << nl << "for(int i" << iter << " = 0; i" << iter << " < len" << iter << "; i" << iter
- << "++)";
- out << sb;
- ostringstream o;
- o << v << "[i" << iter << "]";
- if(isObject)
- {
- ostringstream patchParams;
- out << nl << "final int fi" << iter << " = i" << iter << ";";
- patchParams << "value -> " << v << "[fi" << iter << "] = value, " << origContentS << ".class";
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), false, iter,
- customStream, StringList(), patchParams.str());
- }
- else
- {
- writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, o.str(), false, iter, customStream);
- }
- out << eb;
- iter++;
- }
- }
- }
-}
-
-bool
-Slice::JavaGenerator::findMetaData(const string& prefix, const StringList& metaData, string& value)
-{
- for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); ++q)
- {
- if(q->find(prefix) == 0)
- {
- value = *q;
- return true;
- }
- }
-
- return false;
-}
-
-bool
-Slice::JavaGenerator::getTypeMetaData(const StringList& metaData, string& instanceType, string& formalType)
-{
- //
- // Extract the instance type and an optional formal type.
- // The correct syntax is "java:type:instance-type[:formal-type]".
- //
- static const string prefix = "java:type:";
- string directive;
- if(findMetaData(prefix, metaData, directive))
- {
- string::size_type pos = directive.find(':', prefix.size());
- if(pos != string::npos)
- {
- instanceType = directive.substr(prefix.size(), pos - prefix.size());
- formalType = directive.substr(pos + 1);
- }
- else
- {
- instanceType = directive.substr(prefix.size());
- formalType.clear();
- }
- return true;
- }
-
- return false;
-}
-
-bool
-Slice::JavaGenerator::hasTypeMetaData(const TypePtr& type, const StringList& localMetaData)
-{
- ContainedPtr cont = ContainedPtr::dynamicCast(type);
- if(cont)
- {
- static const string prefix = "java:type:";
- string directive;
-
- if(findMetaData(prefix, localMetaData, directive))
- {
- return true;
- }
-
- StringList metaData = cont->getMetaData();
-
- if(findMetaData(prefix, metaData, directive))
- {
- return true;
- }
-
- if(findMetaData("java:protobuf:", metaData, directive) ||
- findMetaData("java:serializable:", metaData, directive))
- {
- SequencePtr seq = SequencePtr::dynamicCast(cont);
- if(seq)
- {
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin && builtin->kind() == Builtin::KindByte)
- {
- return true;
- }
- }
- }
-
- if(findMetaData("java:buffer", metaData, directive) ||
- findMetaData("java:buffer", localMetaData, directive))
- {
- SequencePtr seq = SequencePtr::dynamicCast(cont);
- if(seq)
- {
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin &&
- (builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- return true;
- }
- }
- }
- }
-
- return false;
-}
-
-bool
-Slice::JavaGenerator::getDictionaryTypes(const DictionaryPtr& dict,
- const string& package,
- const StringList& metaData,
- string& instanceType,
- string& formalType,
- bool local) const
-{
- //
- // Get the types of the key and value.
- //
- string keyTypeStr = typeToObjectString(dict->keyType(), TypeModeIn, package, StringList(), true, local);
- string valueTypeStr = typeToObjectString(dict->valueType(), TypeModeIn, package, StringList(), true, local);
-
- //
- // Collect metadata for a custom type.
- //
- if(getTypeMetaData(metaData, instanceType, formalType) ||
- getTypeMetaData(dict->getMetaData(), instanceType, formalType))
- {
- assert(!instanceType.empty());
- if(formalType.empty())
- {
- formalType = "java.util.Map<" + keyTypeStr + ", " + valueTypeStr + ">";
- }
- return true;
- }
-
- //
- // Return a default type for the platform.
- //
- instanceType = "java.util.HashMap<" + keyTypeStr + ", " + valueTypeStr + ">";
- formalType = "java.util.Map<" + keyTypeStr + ", " + valueTypeStr + ">";
- return false;
-}
-
-bool
-Slice::JavaGenerator::getSequenceTypes(const SequencePtr& seq,
- const string& package,
- const StringList& metaData,
- string& instanceType,
- string& formalType,
- bool local) const
-{
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
- if(builtin)
- {
- if(builtin->kind() == Builtin::KindByte)
- {
- string prefix = "java:serializable:";
- string meta;
- if(seq->findMetaData(prefix, meta))
- {
- instanceType = formalType = meta.substr(prefix.size());
- return true;
- }
- prefix = "java:protobuf:";
- if(seq->findMetaData(prefix, meta))
- {
- instanceType = formalType = meta.substr(prefix.size());
- return true;
- }
- }
-
- if((builtin->kind() == Builtin::KindByte || builtin->kind() == Builtin::KindShort ||
- builtin->kind() == Builtin::KindInt || builtin->kind() == Builtin::KindLong ||
- builtin->kind() == Builtin::KindFloat || builtin->kind() == Builtin::KindDouble))
- {
- string prefix = "java:buffer";
- string meta;
- string ignore;
- if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignore))
- {
- instanceType = formalType = typeToBufferString(seq->type());
- return true;
- }
- }
- }
-
- //
- // Collect metadata for a custom type.
- //
- if(getTypeMetaData(metaData, instanceType, formalType) ||
- getTypeMetaData(seq->getMetaData(), instanceType, formalType))
- {
- assert(!instanceType.empty());
- if(formalType.empty())
- {
- formalType = "java.util.List<" +
- typeToObjectString(seq->type(), TypeModeIn, package, StringList(), true, local) + ">";
- }
- return true;
- }
-
- //
- // The default mapping is a native array.
- //
- instanceType = formalType = typeToString(seq->type(), TypeModeIn, package, metaData, true, false, local) + "[]";
- return false;
-}
-
-JavaOutput*
-Slice::JavaGenerator::createOutput()
-{
- return new JavaOutput;
-}
-
-void
-Slice::JavaGenerator::validateMetaData(const UnitPtr& u)
-{
- MetaDataVisitor visitor;
- u->visit(&visitor, true);
-}
diff --git a/cpp/src/Slice/MD5.cpp b/cpp/src/Slice/MD5.cpp
index 3d881b36b6a..8b14ada3f36 100644
--- a/cpp/src/Slice/MD5.cpp
+++ b/cpp/src/Slice/MD5.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/MD5.h b/cpp/src/Slice/MD5.h
index 182a89bb9b7..9e339d27080 100644
--- a/cpp/src/Slice/MD5.h
+++ b/cpp/src/Slice/MD5.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/PHPUtil.cpp b/cpp/src/Slice/PHPUtil.cpp
index 8db417bd24c..09114294b32 100644
--- a/cpp/src/Slice/PHPUtil.cpp
+++ b/cpp/src/Slice/PHPUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index ca774ef54a8..00fb1d42047 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp
index aa47dd1e716..9ed4eee10ab 100644
--- a/cpp/src/Slice/Preprocessor.cpp
+++ b/cpp/src/Slice/Preprocessor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Python.cpp b/cpp/src/Slice/Python.cpp
index bc1da962d70..a866992af48 100644
--- a/cpp/src/Slice/Python.cpp
+++ b/cpp/src/Slice/Python.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/PythonUtil.cpp b/cpp/src/Slice/PythonUtil.cpp
index bb21315c21a..05c928c0e7d 100644
--- a/cpp/src/Slice/PythonUtil.cpp
+++ b/cpp/src/Slice/PythonUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -2959,7 +2959,7 @@ Slice::Python::printHeader(IceUtilInternal::Output& out)
static const char* header =
"# **********************************************************************\n"
"#\n"
-"# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"# Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"#\n"
"# This copy of Ice is licensed to you under the terms described in the\n"
"# ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/Slice/Ruby.cpp b/cpp/src/Slice/Ruby.cpp
index 7861bcb8c0b..310b84bf4a6 100644
--- a/cpp/src/Slice/Ruby.cpp
+++ b/cpp/src/Slice/Ruby.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp
index 3a670035bc4..b27f91d75bb 100644
--- a/cpp/src/Slice/RubyUtil.cpp
+++ b/cpp/src/Slice/RubyUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -1562,7 +1562,7 @@ Slice::Ruby::printHeader(IceUtilInternal::Output& out)
static const char* header =
"# **********************************************************************\n"
"#\n"
-"# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"# Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"#\n"
"# This copy of Ice is licensed to you under the terms described in the\n"
"# ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/Slice/Scanner.cpp b/cpp/src/Slice/Scanner.cpp
index 8d14ff3cd30..b338b8e5390 100644
--- a/cpp/src/Slice/Scanner.cpp
+++ b/cpp/src/Slice/Scanner.cpp
@@ -611,7 +611,7 @@ char *slice_text;
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l
index e2a825c0deb..6aa153f039d 100644
--- a/cpp/src/Slice/Scanner.l
+++ b/cpp/src/Slice/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/iceserviceinstall/Install.cpp b/cpp/src/iceserviceinstall/Install.cpp
index 73fe9681895..427d7533e98 100644
--- a/cpp/src/iceserviceinstall/Install.cpp
+++ b/cpp/src/iceserviceinstall/Install.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/iceserviceinstall/ServiceInstaller.cpp b/cpp/src/iceserviceinstall/ServiceInstaller.cpp
index d9b76c23dfe..824a8dceebb 100644
--- a/cpp/src/iceserviceinstall/ServiceInstaller.cpp
+++ b/cpp/src/iceserviceinstall/ServiceInstaller.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/iceserviceinstall/ServiceInstaller.h b/cpp/src/iceserviceinstall/ServiceInstaller.h
index d1874b9624f..5879b10daf5 100644
--- a/cpp/src/iceserviceinstall/ServiceInstaller.h
+++ b/cpp/src/iceserviceinstall/ServiceInstaller.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2confluence/Gen.cpp b/cpp/src/slice2confluence/Gen.cpp
index 0edd89991fc..5610fd65c61 100644
--- a/cpp/src/slice2confluence/Gen.cpp
+++ b/cpp/src/slice2confluence/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2confluence/Gen.h b/cpp/src/slice2confluence/Gen.h
index bc10790604b..2ea55a37666 100644
--- a/cpp/src/slice2confluence/Gen.h
+++ b/cpp/src/slice2confluence/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2confluence/Main.cpp b/cpp/src/slice2confluence/Main.cpp
index 8eeca1c303b..06736afe16f 100644
--- a/cpp/src/slice2confluence/Main.cpp
+++ b/cpp/src/slice2confluence/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index d45baf216f6..e0e00588311 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h
index b27d791a106..69e3ac83c25 100644
--- a/cpp/src/slice2cpp/Gen.h
+++ b/cpp/src/slice2cpp/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cpp/Main.cpp b/cpp/src/slice2cpp/Main.cpp
index ebc2d08b8f3..685334a4a87 100644
--- a/cpp/src/slice2cpp/Main.cpp
+++ b/cpp/src/slice2cpp/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cs/DotNetNames.h b/cpp/src/slice2cs/DotNetNames.h
index f4ee205e13d..9bb2381d21b 100644
--- a/cpp/src/slice2cs/DotNetNames.h
+++ b/cpp/src/slice2cs/DotNetNames.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index 5584e48390f..994b91c9ab1 100644
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -2188,7 +2188,7 @@ Slice::Gen::printHeader()
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/slice2cs/Gen.h b/cpp/src/slice2cs/Gen.h
index d061616693d..156f31c598d 100644
--- a/cpp/src/slice2cs/Gen.h
+++ b/cpp/src/slice2cs/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2cs/Main.cpp b/cpp/src/slice2cs/Main.cpp
index 21738ba6f83..e665d5b63c0 100644
--- a/cpp/src/slice2cs/Main.cpp
+++ b/cpp/src/slice2cs/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2html/Gen.cpp b/cpp/src/slice2html/Gen.cpp
index e2de448264a..daa2e495438 100644
--- a/cpp/src/slice2html/Gen.cpp
+++ b/cpp/src/slice2html/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2html/Gen.h b/cpp/src/slice2html/Gen.h
index 8fb67136bc0..ac10829d811 100644
--- a/cpp/src/slice2html/Gen.h
+++ b/cpp/src/slice2html/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2html/Main.cpp b/cpp/src/slice2html/Main.cpp
index ae2bfaa75ff..f8e7b22f36b 100644
--- a/cpp/src/slice2html/Main.cpp
+++ b/cpp/src/slice2html/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 304ea15e175..ce104682cd1 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h
index df117f30ab1..1850a3b0dfc 100644
--- a/cpp/src/slice2java/Gen.h
+++ b/cpp/src/slice2java/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2java/Main.cpp b/cpp/src/slice2java/Main.cpp
index 5bb0c638d84..b32fec75adc 100644
--- a/cpp/src/slice2java/Main.cpp
+++ b/cpp/src/slice2java/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2js/Gen.cpp b/cpp/src/slice2js/Gen.cpp
index 5f80870769c..611f505c440 100644
--- a/cpp/src/slice2js/Gen.cpp
+++ b/cpp/src/slice2js/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -455,7 +455,7 @@ Slice::Gen::printHeader()
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/slice2js/Gen.h b/cpp/src/slice2js/Gen.h
index 8196ba1b48b..842bc2d24e6 100644
--- a/cpp/src/slice2js/Gen.h
+++ b/cpp/src/slice2js/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2js/JsUtil.cpp b/cpp/src/slice2js/JsUtil.cpp
index 674644873d4..c96900cf4bf 100644
--- a/cpp/src/slice2js/JsUtil.cpp
+++ b/cpp/src/slice2js/JsUtil.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2js/JsUtil.h b/cpp/src/slice2js/JsUtil.h
index f6874ba665b..2ffa4f8ebd6 100644
--- a/cpp/src/slice2js/JsUtil.h
+++ b/cpp/src/slice2js/JsUtil.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2js/Main.cpp b/cpp/src/slice2js/Main.cpp
index a73738fcee9..d135fbaec2c 100644
--- a/cpp/src/slice2js/Main.cpp
+++ b/cpp/src/slice2js/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2objc/Gen.cpp b/cpp/src/slice2objc/Gen.cpp
index d3a575fee7d..a8b9dd66f03 100644
--- a/cpp/src/slice2objc/Gen.cpp
+++ b/cpp/src/slice2objc/Gen.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
@@ -867,7 +867,7 @@ Slice::Gen::printHeader(Output& o)
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/slice2objc/Gen.h b/cpp/src/slice2objc/Gen.h
index bb4b63752d9..0dc596c2d4d 100644
--- a/cpp/src/slice2objc/Gen.h
+++ b/cpp/src/slice2objc/Gen.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2objc/Main.cpp b/cpp/src/slice2objc/Main.cpp
index 24ac096d92c..86ceba8dcf6 100644
--- a/cpp/src/slice2objc/Main.cpp
+++ b/cpp/src/slice2objc/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2php/Main.cpp b/cpp/src/slice2php/Main.cpp
deleted file mode 100644
index a948a8ad746..00000000000
--- a/cpp/src/slice2php/Main.cpp
+++ /dev/null
@@ -1,1935 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2016 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 <IceUtil/DisableWarnings.h>
-#include <IceUtil/CtrlCHandler.h>
-#include <IceUtil/IceUtil.h>
-#include <IceUtil/InputUtil.h>
-#include <IceUtil/Options.h>
-#include <IceUtil/OutputUtil.h>
-#include <IceUtil/StringUtil.h>
-#include <IceUtil/Mutex.h>
-#include <IceUtil/MutexPtrLock.h>
-#include <IceUtil/ConsoleUtil.h>
-#include <Slice/Checksum.h>
-#include <Slice/Preprocessor.h>
-#include <Slice/FileTracker.h>
-#include <Slice/PHPUtil.h>
-#include <Slice/Parser.h>
-#include <Slice/Util.h>
-#include <cstring>
-#include <climits>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef _WIN32
-# include <direct.h>
-#else
-# include <unistd.h>
-#endif
-
-using namespace std;
-using namespace Slice;
-using namespace Slice::PHP;
-using namespace IceUtilInternal;
-
-namespace
-{
-
-//
-// Get the fully-qualified name of the given definition. If a suffix is provided,
-// it is prepended to the definition's unqualified name. If the nameSuffix
-// is provided, it is appended to the container's name.
-//
-string
-getAbsolute(const ContainedPtr& cont, bool ns, const string& pfx = std::string(), const string& suffix = std::string())
-{
- return scopedToName(cont->scope() + pfx + cont->name() + suffix, ns);
-}
-
-}
-
-//
-// CodeVisitor generates the PHP mapping for a translation unit.
-//
-class CodeVisitor : public ParserVisitor
-{
-public:
-
- CodeVisitor(IceUtilInternal::Output&, bool);
-
- virtual void visitClassDecl(const ClassDeclPtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitSequence(const SequencePtr&);
- virtual void visitDictionary(const DictionaryPtr&);
- virtual void visitEnum(const EnumPtr&);
- virtual void visitConst(const ConstPtr&);
-
-private:
-
- void startNamespace(const ContainedPtr&);
- void endNamespace();
-
- //
- // Return the PHP name for the given Slice type. When using namespaces,
- // this name is a relative (unqualified) name, otherwise this name is the
- // flattened absolute name.
- //
- string getName(const ContainedPtr&, const string& = string());
-
- //
- // Return the PHP variable for the given object's type.
- //
- string getTypeVar(const ContainedPtr&, const string& = string());
-
- //
- // Emit the array for a Slice type.
- //
- void writeType(const TypePtr&);
-
- //
- // Write a default value for a given type.
- //
- void writeDefaultValue(const DataMemberPtr&);
-
- struct MemberInfo
- {
- string fixedName;
- bool inherited;
- DataMemberPtr dataMember;
- };
- typedef list<MemberInfo> MemberInfoList;
-
- //
- // Write a member assignment statement for a constructor.
- //
- void writeAssign(const MemberInfo&);
-
- //
- // Write constant value.
- //
- void writeConstantValue(const TypePtr&, const SyntaxTreeBasePtr&, const string&);
-
- //
- // Write constructor parameters with default values.
- //
- void writeConstructorParams(const MemberInfoList&);
-
- //
- // Convert an operation mode into a string.
- //
- string getOperationMode(Slice::Operation::Mode, bool);
-
- void collectClassMembers(const ClassDefPtr&, MemberInfoList&, bool);
- void collectExceptionMembers(const ExceptionPtr&, MemberInfoList&, bool);
-
- Output& _out;
- bool _ns; // Using namespaces?
- list<string> _moduleStack; // TODO: Necessary?
- set<string> _classHistory; // TODO: Necessary?
-};
-
-//
-// CodeVisitor implementation.
-//
-CodeVisitor::CodeVisitor(Output& out, bool ns) :
- _out(out),
- _ns(ns)
-{
-}
-
-void
-CodeVisitor::visitClassDecl(const ClassDeclPtr& p)
-{
- //
- // Handle forward declarations.
- //
- string scoped = p->scoped();
- if(_classHistory.count(scoped) == 0)
- {
- startNamespace(p);
-
- string type = getTypeVar(p);
- _out << sp << nl << "global " << type << ';';
-
- bool isInterface = p->isInterface();
- if(!p->isLocal() && (isInterface || p->definition()->allOperations().size() > 0))
- {
- _out << nl << "global " << type << "Prx;";
- }
- _out << nl << "if(!isset(" << type << "))";
- _out << sb;
- _out << nl << type << " = IcePHP_declareClass('" << scoped << "');";
- if(!p->isLocal() && (isInterface || p->definition()->allOperations().size() > 0))
- {
- _out << nl << type << "Prx = IcePHP_declareProxy('" << scoped << "');";
- }
- _out << eb;
-
- endNamespace();
-
- _classHistory.insert(scoped); // Avoid redundant declarations.
- }
-}
-
-bool
-CodeVisitor::visitClassDefStart(const ClassDefPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return false;
- }
-
- string scoped = p->scoped();
- string name = getName(p);
- string type = getTypeVar(p);
- string abs = getAbsolute(p, _ns);
- string prxName = getName(p, "Prx");
- string prxType = getTypeVar(p, "Prx");
- string prxAbs = getAbsolute(p, _ns, "", "Prx");
- ClassList bases = p->bases();
- ClassDefPtr base;
- OperationList ops = p->operations();
- DataMemberList members = p->dataMembers();
- bool isInterface = p->isInterface();
- bool isAbstract = isInterface || p->allOperations().size() > 0; // Don't use isAbstract() - see bug 3739
-
- startNamespace(p);
-
- _out << sp << nl << "global " << type << ';';
- if(!p->isLocal() && isAbstract)
- {
- _out << nl << "global " << prxType << ';';
- }
-
- //
- // Define the class.
- //
- if(isInterface)
- {
- if(p->isLocal())
- {
- _out << nl << "interface " << name;
- if(bases.empty())
- {
- if(!p->isLocal())
- {
- _out << " extends " << scopedToName("::Ice::Object", _ns);
- }
- }
- else
- {
- _out << " extends ";
- for(ClassList::const_iterator q = bases.begin(); q != bases.end(); ++q)
- {
- if(q != bases.begin())
- {
- _out << ", ";
- }
- _out << getAbsolute(*q, _ns);
- }
- }
- _out << sb;
- for(OperationList::iterator oli = ops.begin(); oli != ops.end(); ++oli)
- {
- _out << nl << "public function " << fixIdent((*oli)->name()) << '(';
- ParamDeclList params = (*oli)->parameters();
- for(ParamDeclList::iterator q = params.begin(); q != params.end(); ++q)
- {
- if(q != params.begin())
- {
- _out << ", ";
- }
- _out << '$' << fixIdent((*q)->name());
- }
- _out << ");";
- }
-
- _out << eb;
- }
- }
- else
- {
- _out << nl;
- _out << "class " << name;
- if(!bases.empty() && !bases.front()->isInterface())
- {
- base = bases.front();
- bases.pop_front();
- }
- if(base)
- {
- _out << " extends " << getAbsolute(base, _ns);
- }
- else
- {
- if(!p->isLocal())
- {
- _out << " extends " << scopedToName("::Ice::Value", _ns);
- }
- }
-
- //
- // Value objects don't implement any interfaces.
- //
- if(p->isLocal() && !bases.empty())
- {
- _out << " implements ";
- for(ClassList::const_iterator q = bases.begin(); q != bases.end(); ++q)
- {
- if(q != bases.begin())
- {
- _out << ", ";
- }
- _out << getAbsolute(*q, _ns);
- }
- }
-
- _out << sb;
-
- //
- // __construct
- //
- _out << nl << "public function __construct(";
- MemberInfoList allMembers;
- collectClassMembers(p, allMembers, false);
- writeConstructorParams(allMembers);
- _out << ")";
- _out << sb;
- if(base)
- {
- _out << nl << "parent::__construct(";
- int count = 0;
- for(MemberInfoList::iterator q = allMembers.begin(); q != allMembers.end(); ++q)
- {
- if(q->inherited)
- {
- if(count)
- {
- _out << ", ";
- }
- _out << '$' << q->fixedName;
- ++count;
- }
- }
- _out << ");";
- }
- {
- for(MemberInfoList::iterator q = allMembers.begin(); q != allMembers.end(); ++q)
- {
- if(!q->inherited)
- {
- writeAssign(*q);
- }
- }
- }
- _out << eb;
-
- if(!p->isLocal())
- {
- //
- // ice_ice
- //
- _out << sp << nl << "public function ice_id()";
- _out << sb;
- _out << nl << "return '" << scoped << "';";
- _out << eb;
-
- //
- // ice_staticId
- //
- _out << sp << nl << "public static function ice_staticId()";
- _out << sb;
- _out << nl << "return '" << scoped << "';";
- _out << eb;
- }
-
- //
- // __toString
- //
- _out << sp << nl << "public function __toString()";
- _out << sb;
- _out << nl << "global " << type << ';';
- _out << nl << "return IcePHP_stringify($this, " << type << ");";
- _out << eb;
-
- if(!members.empty())
- {
- _out << sp;
- bool isProtected = p->hasMetaData("protected");
- for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
- {
- _out << nl;
- if(isProtected || (*q)->hasMetaData("protected"))
- {
- _out << "protected ";
- }
- else
- {
- _out << "public ";
- }
- _out << "$" << fixIdent((*q)->name()) << ";";
- }
- }
-
- _out << eb; // End of class.
- }
-
- //
- // Define the proxy class.
- //
- if(!p->isLocal() && isAbstract)
- {
- _out << sp << nl << "class " << prxName << "Helper";
- _out << sb;
-
- _out << sp << nl << "public static function checkedCast($proxy, $facetOrContext=null, $context=null)";
- _out << sb;
- _out << nl << "return $proxy->ice_checkedCast('" << scoped << "', $facetOrContext, $context);";
- _out << eb;
-
- _out << sp << nl << "public static function uncheckedCast($proxy, $facet=null)";
- _out << sb;
- _out << nl << "return $proxy->ice_uncheckedCast('" << scoped << "', $facet);";
- _out << eb;
-
- _out << sp << nl << "public static function ice_staticId()";
- _out << sb;
- _out << nl << "return '" << scoped << "';";
- _out << eb;
-
- _out << eb;
- }
-
- if(_classHistory.count(scoped) == 0 && p->canBeCyclic())
- {
- //
- // Emit a forward declaration for the class in case a data member refers to this type.
- //
- _out << sp << nl << type << " = IcePHP_declareClass('" << scoped << "');";
- if(!p->isLocal() && isAbstract)
- {
- _out << nl << prxType << " = IcePHP_declareProxy('" << scoped << "');";
- }
- }
-
- //
- // Emit the type information.
- //
- const bool preserved = p->hasMetaData("preserve-slice") || p->inheritsMetaData("preserve-slice");
- _out << sp << nl << type << " = IcePHP_defineClass('" << scoped << "', '" << escapeName(abs) << "', "
- << p->compactId() << ", " << (preserved ? "true" : "false") << ", "
- << (isInterface ? "true" : "false") << ", ";
- if(!base || (isInterface && !p->isLocal()))
- {
- _out << "$Ice__t_Value";
- }
- else
- {
- _out << getTypeVar(base);
- }
- _out << ", ";
- //
- // Members
- //
- // Data members are represented as an array:
- //
- // ('MemberName', MemberType, Optional, Tag)
- //
- // where MemberType is either a primitive type constant (T_INT, etc.) or the id of a constructed type.
- //
- if(!members.empty())
- {
- _out << "array(";
- for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
- {
- if(q != members.begin())
- {
- _out << ',';
- }
- _out.inc();
- _out << nl << "array('" << fixIdent((*q)->name()) << "', ";
- writeType((*q)->type());
- _out << ", " << ((*q)->optional() ? "true" : "false") << ", "
- << ((*q)->optional() ? (*q)->tag() : 0) << ')';
- _out.dec();
- }
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ");";
-
- if(!p->isLocal() && isAbstract)
- {
- _out << sp << nl << prxType << " = IcePHP_defineProxy('" << scoped << "', ";
- if(!base || base->allOperations().empty())
- {
- _out << "$Ice__t_ObjectPrx";
- }
- else
- {
- _out << getTypeVar(base, "Prx");
- }
- _out << ", ";
- //
- // Interfaces
- //
- if(!bases.empty())
- {
- _out << "array(";
- for(ClassList::const_iterator q = bases.begin(); q != bases.end(); ++q)
- {
- if(q != bases.begin())
- {
- _out << ", ";
- }
- _out << getTypeVar(*q, "Prx");
- }
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ");";
-
- //
- // Define each operation. The arguments to IcePHP_defineOperation are:
- //
- // $ClassType, 'opName', Mode, SendMode, FormatType, (InParams), (OutParams), ReturnParam, (Exceptions)
- //
- // where InParams and OutParams are arrays of type descriptions, and Exceptions
- // is an array of exception type ids.
- //
- if(!ops.empty())
- {
- _out << sp;
- for(OperationList::iterator oli = ops.begin(); oli != ops.end(); ++oli)
- {
- ParamDeclList params = (*oli)->parameters();
- ParamDeclList::iterator t;
- int count;
-
- _out << nl << "IcePHP_defineOperation(" << prxType << ", '" << (*oli)->name() << "', "
- << getOperationMode((*oli)->mode(), _ns) << ", " << getOperationMode((*oli)->sendMode(), _ns)
- << ", " << static_cast<int>((*oli)->format()) << ", ";
- for(t = params.begin(), count = 0; t != params.end(); ++t)
- {
- if(!(*t)->isOutParam())
- {
- if(count == 0)
- {
- _out << "array(";
- }
- else if(count > 0)
- {
- _out << ", ";
- }
- _out << "array(";
- writeType((*t)->type());
- if((*t)->optional())
- {
- _out << ", " << (*t)->tag();
- }
- _out << ')';
- ++count;
- }
- }
- if(count > 0)
- {
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ", ";
- for(t = params.begin(), count = 0; t != params.end(); ++t)
- {
- if((*t)->isOutParam())
- {
- if(count == 0)
- {
- _out << "array(";
- }
- else if(count > 0)
- {
- _out << ", ";
- }
- _out << "array(";
- writeType((*t)->type());
- if((*t)->optional())
- {
- _out << ", " << (*t)->tag();
- }
- _out << ')';
- ++count;
- }
- }
- if(count > 0)
- {
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ", ";
- TypePtr returnType = (*oli)->returnType();
- if(returnType)
- {
- //
- // The return type has the same format as an in/out parameter:
- //
- // Type, Optional?, OptionalTag
- //
- _out << "array(";
- writeType(returnType);
- if((*oli)->returnIsOptional())
- {
- _out << ", " << (*oli)->returnTag();
- }
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ", ";
- ExceptionList exceptions = (*oli)->throws();
- if(!exceptions.empty())
- {
- _out << "array(";
- for(ExceptionList::iterator u = exceptions.begin(); u != exceptions.end(); ++u)
- {
- if(u != exceptions.begin())
- {
- _out << ", ";
- }
- _out << getTypeVar(*u);
- }
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ");";
- }
- }
- }
-
- endNamespace();
-
- if(_classHistory.count(scoped) == 0)
- {
- _classHistory.insert(scoped); // Avoid redundant declarations.
- }
-
- return false;
-}
-
-bool
-CodeVisitor::visitExceptionStart(const ExceptionPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return false;
- }
-
- string scoped = p->scoped();
- string name = getName(p);
- string type = getTypeVar(p);
- string abs = getAbsolute(p, _ns);
-
- startNamespace(p);
-
- _out << sp << nl << "global " << type << ';';
- _out << nl << "class " << name << " extends ";
- ExceptionPtr base = p->base();
- string baseName;
- if(base)
- {
- baseName = getAbsolute(base, _ns);
- _out << baseName;
- }
- else if(p->isLocal())
- {
- _out << scopedToName("::Ice::LocalException", _ns);
- }
- else
- {
- _out << scopedToName("::Ice::UserException", _ns);
- }
- _out << sb;
-
- DataMemberList members = p->dataMembers();
-
- //
- // __construct
- //
- _out << nl << "public function __construct(";
- MemberInfoList allMembers;
- collectExceptionMembers(p, allMembers, false);
- writeConstructorParams(allMembers);
- _out << ")";
- _out << sb;
- if(base)
- {
- _out << nl << "parent::__construct(";
- int count = 0;
- for(MemberInfoList::iterator q = allMembers.begin(); q != allMembers.end(); ++q)
- {
- if(q->inherited)
- {
- if(count)
- {
- _out << ", ";
- }
- _out << '$' << q->fixedName;
- ++count;
- }
- }
- _out << ");";
- }
- for(MemberInfoList::iterator q = allMembers.begin(); q != allMembers.end(); ++q)
- {
- if(!q->inherited)
- {
- writeAssign(*q);
- }
- }
- _out << eb;
-
- //
- // ice_id
- //
- _out << sp << nl << "public function ice_id()";
- _out << sb;
- _out << nl << "return '" << scoped << "';";
- _out << eb;
-
- //
- // __toString
- //
- _out << sp << nl << "public function __toString()";
- _out << sb;
- _out << nl << "global " << type << ';';
- _out << nl << "return IcePHP_stringifyException($this, " << type << ");";
- _out << eb;
-
- if(!members.empty())
- {
- _out << sp;
- for(DataMemberList::iterator dmli = members.begin(); dmli != members.end(); ++dmli)
- {
- _out << nl << "public $" << fixIdent((*dmli)->name()) << ";";
- }
- }
-
- _out << eb;
-
- //
- // Emit the type information.
- //
- const bool preserved = p->hasMetaData("preserve-slice") || p->inheritsMetaData("preserve-slice");
- _out << sp << nl << type << " = IcePHP_defineException('" << scoped << "', '" << escapeName(abs) << "', "
- << (preserved ? "true" : "false") << ", ";
- if(!base)
- {
- _out << "null";
- }
- else
- {
- _out << getTypeVar(base);
- }
- _out << ", ";
- //
- // Data members are represented as an array:
- //
- // ('MemberName', MemberType, Optional, Tag)
- //
- // where MemberType is either a primitive type constant (T_INT, etc.) or the id of a constructed type.
- //
- if(!members.empty())
- {
- _out << "array(";
- for(DataMemberList::iterator dmli = members.begin(); dmli != members.end(); ++dmli)
- {
- if(dmli != members.begin())
- {
- _out << ',';
- }
- _out.inc();
- _out << nl << "array('" << fixIdent((*dmli)->name()) << "', ";
- writeType((*dmli)->type());
- _out << ", " << ((*dmli)->optional() ? "true" : "false") << ", "
- << ((*dmli)->optional() ? (*dmli)->tag() : 0) << ')';
- _out.dec();
- }
- _out << ')';
- }
- else
- {
- _out << "null";
- }
- _out << ");";
-
- endNamespace();
-
- return false;
-}
-
-bool
-CodeVisitor::visitStructStart(const StructPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return false;
- }
-
- string scoped = p->scoped();
- string name = getName(p);
- string type = getTypeVar(p);
- string abs = getAbsolute(p, _ns);
- MemberInfoList memberList;
-
- {
- DataMemberList members = p->dataMembers();
- for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
- {
- memberList.push_back(MemberInfo());
- memberList.back().fixedName = fixIdent((*q)->name());
- memberList.back().inherited = false;
- memberList.back().dataMember = *q;
- }
- }
-
- startNamespace(p);
-
- _out << sp << nl << "global " << type << ';';
-
- _out << nl << "class " << name;
- _out << sb;
- _out << nl << "public function __construct(";
- writeConstructorParams(memberList);
- _out << ")";
- _out << sb;
- for(MemberInfoList::iterator r = memberList.begin(); r != memberList.end(); ++r)
- {
- writeAssign(*r);
- }
- _out << eb;
-
- //
- // __toString
- //
- _out << sp << nl << "public function __toString()";
- _out << sb;
- _out << nl << "global " << type << ';';
- _out << nl << "return IcePHP_stringify($this, " << type << ");";
- _out << eb;
-
- if(!memberList.empty())
- {
- _out << sp;
- for(MemberInfoList::iterator r = memberList.begin(); r != memberList.end(); ++r)
- {
- _out << nl << "public $" << r->fixedName << ';';
- }
- }
-
- _out << eb;
-
- //
- // Emit the type information.
- //
- _out << sp << nl << type << " = IcePHP_defineStruct('" << scoped << "', '" << escapeName(abs) << "', array(";
- //
- // Data members are represented as an array:
- //
- // ('MemberName', MemberType)
- //
- // where MemberType is either a primitive type constant (T_INT, etc.) or the id of a constructed type.
- //
- for(MemberInfoList::iterator r = memberList.begin(); r != memberList.end(); ++r)
- {
- if(r != memberList.begin())
- {
- _out << ", ";
- }
- _out.inc();
- _out << nl << "array('" << r->fixedName << "', ";
- writeType(r->dataMember->type());
- _out << ')';
- _out.dec();
- }
- _out << "));";
- endNamespace();
-
- return false;
-}
-
-void
-CodeVisitor::visitSequence(const SequencePtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return;
- }
-
- string type = getTypeVar(p);
- TypePtr content = p->type();
-
- startNamespace(p);
-
- //
- // Emit the type information.
- //
- string scoped = p->scoped();
- _out << sp << nl << "global " << type << ';';
- _out << sp << nl << "if(!isset(" << type << "))";
- _out << sb;
- _out << nl << type << " = IcePHP_defineSequence('" << scoped << "', ";
- writeType(content);
- _out << ");";
- _out << eb;
-
- endNamespace();
-}
-
-void
-CodeVisitor::visitDictionary(const DictionaryPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return;
- }
-
- TypePtr keyType = p->keyType();
- BuiltinPtr b = BuiltinPtr::dynamicCast(keyType);
-
- const UnitPtr unit = p->unit();
- const DefinitionContextPtr dc = unit->findDefinitionContext(p->file());
- assert(dc);
- if(b)
- {
- switch(b->kind())
- {
- case Slice::Builtin::KindBool:
- case Slice::Builtin::KindByte:
- case Slice::Builtin::KindShort:
- case Slice::Builtin::KindInt:
- case Slice::Builtin::KindLong:
- case Slice::Builtin::KindString:
- //
- // These types are acceptable as dictionary keys.
- //
- break;
-
- case Slice::Builtin::KindFloat:
- case Slice::Builtin::KindDouble:
- {
- dc->warning(InvalidMetaData, p->file(), p->line(), "dictionary key type not supported in PHP");
- break;
- }
-
- case Slice::Builtin::KindObject:
- case Slice::Builtin::KindObjectProxy:
- case Slice::Builtin::KindLocalObject:
- case Slice::Builtin::KindValue:
- assert(false);
- }
- }
- else if(!EnumPtr::dynamicCast(keyType))
- {
- dc->warning(InvalidMetaData, p->file(), p->line(), "dictionary key type not supported in PHP");
- }
-
- string type = getTypeVar(p);
-
- startNamespace(p);
-
- //
- // Emit the type information.
- //
- string scoped = p->scoped();
- _out << sp << nl << "global " << type << ';';
- _out << sp << nl << "if(!isset(" << type << "))";
- _out << sb;
- _out << nl << type << " = IcePHP_defineDictionary('" << scoped << "', ";
- writeType(p->keyType());
- _out << ", ";
- writeType(p->valueType());
- _out << ");";
- _out << eb;
-
- endNamespace();
-}
-
-void
-CodeVisitor::visitEnum(const EnumPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return;
- }
-
- string scoped = p->scoped();
- string name = getName(p);
- string type = getTypeVar(p);
- string abs = getAbsolute(p, _ns);
- EnumeratorList enums = p->enumerators();
-
- startNamespace(p);
-
- _out << sp << nl << "global " << type << ';';
- _out << nl << "class " << name;
- _out << sb;
-
- {
- long i = 0;
- for(EnumeratorList::iterator q = enums.begin(); q != enums.end(); ++q, ++i)
- {
- _out << nl << "const " << fixIdent((*q)->name()) << " = " << (*q)->value() << ';';
- }
- }
-
- _out << eb;
-
- //
- // Emit the type information.
- //
- _out << sp << nl << type << " = IcePHP_defineEnum('" << scoped << "', array(";
- for(EnumeratorList::iterator q = enums.begin(); q != enums.end(); ++q)
- {
- if(q != enums.begin())
- {
- _out << ", ";
- }
- _out << "'" << (*q)->name() << "', " << (*q)->value();
- }
- _out << "));";
-
- endNamespace();
-}
-
-void
-CodeVisitor::visitConst(const ConstPtr& p)
-{
- //
- // Do not generate any code for php:internal types, those are provided by
- // IcePHP C++ extension.
- //
- StringList metadata = p->getMetaData();
- if(find(metadata.begin(), metadata.end(), "php:internal") != metadata.end())
- {
- return;
- }
-
- string name = getName(p);
- string type = getTypeVar(p);
- string abs = getAbsolute(p, _ns);
-
- startNamespace(p);
-
- _out << sp << nl << "if(!defined('" << escapeName(abs) << "'))";
- _out << sb;
- if(_ns)
- {
- _out << sp << nl << "define(__NAMESPACE__ . '\\\\" << name << "', ";
- }
- else
- {
- _out << sp << nl << "define('" << name << "', ";
- }
-
- writeConstantValue(p->type(), p->valueType(), p->value());
-
- _out << ");";
- _out << eb;
-
- endNamespace();
-}
-
-void
-CodeVisitor::startNamespace(const ContainedPtr& cont)
-{
- if(_ns)
- {
- string scope = cont->scope();
- scope = scope.substr(2); // Removing leading '::'
- scope = scope.substr(0, scope.length() - 2); // Removing trailing '::'
- _out << sp << nl << "namespace " << scopedToName(scope, true);
- _out << sb;
- }
-}
-
-void
-CodeVisitor::endNamespace()
-{
- if(_ns)
- {
- _out << eb;
- }
-}
-
-string
-CodeVisitor::getTypeVar(const ContainedPtr& p, const string& suffix)
-{
- return "$" + getAbsolute(p, false, "_t_", suffix);
-}
-
-string
-CodeVisitor::getName(const ContainedPtr& p, const string& suffix)
-{
- if(_ns)
- {
- return fixIdent(p->name() + suffix);
- }
- else
- {
- return getAbsolute(p, false, "", suffix);
- }
-}
-
-void
-CodeVisitor::writeType(const TypePtr& p)
-{
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p);
- if(builtin)
- {
- switch(builtin->kind())
- {
- case Builtin::KindBool:
- {
- _out << "$IcePHP__t_bool";
- break;
- }
- case Builtin::KindByte:
- {
- _out << "$IcePHP__t_byte";
- break;
- }
- case Builtin::KindShort:
- {
- _out << "$IcePHP__t_short";
- break;
- }
- case Builtin::KindInt:
- {
- _out << "$IcePHP__t_int";
- break;
- }
- case Builtin::KindLong:
- {
- _out << "$IcePHP__t_long";
- break;
- }
- case Builtin::KindFloat:
- {
- _out << "$IcePHP__t_float";
- break;
- }
- case Builtin::KindDouble:
- {
- _out << "$IcePHP__t_double";
- break;
- }
- case Builtin::KindString:
- {
- _out << "$IcePHP__t_string";
- break;
- }
- case Builtin::KindObject:
- case Builtin::KindValue:
- {
- _out << "$Ice__t_Value";
- break;
- }
- case Builtin::KindObjectProxy:
- {
- _out << "$Ice__t_ObjectPrx";
- break;
- }
- case Builtin::KindLocalObject:
- {
- _out << "$Ice__t_LocalObject";
- break;
- }
- }
- return;
- }
-
- ProxyPtr prx = ProxyPtr::dynamicCast(p);
- if(prx)
- {
- ClassDefPtr def = prx->_class()->definition();
- if(def->isInterface() || def->allOperations().size() > 0)
- {
- _out << getTypeVar(prx->_class(), "Prx");
- }
- else
- {
- _out << "$Ice__t_ObjectPrx";
- }
- return;
- }
-
- ContainedPtr cont = ContainedPtr::dynamicCast(p);
- assert(cont);
- _out << getTypeVar(cont);
-}
-
-void
-CodeVisitor::writeDefaultValue(const DataMemberPtr& m)
-{
- TypePtr p = m->type();
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p);
- if(builtin)
- {
- switch(builtin->kind())
- {
- case Builtin::KindBool:
- {
- _out << "false";
- break;
- }
- case Builtin::KindByte:
- case Builtin::KindShort:
- case Builtin::KindInt:
- case Builtin::KindLong:
- {
- _out << "0";
- break;
- }
- case Builtin::KindFloat:
- case Builtin::KindDouble:
- {
- _out << "0.0";
- break;
- }
- case Builtin::KindString:
- {
- _out << "''";
- break;
- }
- case Builtin::KindObject:
- case Builtin::KindObjectProxy:
- case Builtin::KindLocalObject:
- case Builtin::KindValue:
- {
- _out << "null";
- break;
- }
- }
- return;
- }
-
- EnumPtr en = EnumPtr::dynamicCast(p);
- if(en)
- {
- EnumeratorList enums = en->enumerators();
- _out << getAbsolute(en, _ns) << "::" << fixIdent(enums.front()->name());
- return;
- }
-
- //
- // PHP does not allow the following construct:
- //
- // function foo($theStruct=new MyStructType)
- //
- // Instead we use null as the default value and allocate an instance in
- // the constructor.
- //
- if(StructPtr::dynamicCast(p))
- {
- _out << "null";
- return;
- }
-
- _out << "null";
-}
-
-void
-CodeVisitor::writeAssign(const MemberInfo& info)
-{
- StructPtr st = StructPtr::dynamicCast(info.dataMember->type());
- if(st)
- {
- _out << nl << "$this->" << info.fixedName << " = is_null($" << info.fixedName << ") ? new "
- << getAbsolute(st, _ns) << " : $" << info.fixedName << ';';
- }
- else
- {
- _out << nl << "$this->" << info.fixedName << " = $" << info.fixedName << ';';
- }
-}
-
-void
-CodeVisitor::writeConstantValue(const TypePtr& type, const SyntaxTreeBasePtr& valueType, const string& value)
-{
- ConstPtr constant = ConstPtr::dynamicCast(valueType);
- if(constant)
- {
- _out << getAbsolute(constant, _ns);
- }
- else
- {
- Slice::BuiltinPtr b = Slice::BuiltinPtr::dynamicCast(type);
- Slice::EnumPtr en = Slice::EnumPtr::dynamicCast(type);
- if(b)
- {
- switch(b->kind())
- {
- case Slice::Builtin::KindBool:
- case Slice::Builtin::KindByte:
- case Slice::Builtin::KindShort:
- case Slice::Builtin::KindInt:
- case Slice::Builtin::KindFloat:
- case Slice::Builtin::KindDouble:
- {
- _out << value;
- break;
- }
- case Slice::Builtin::KindLong:
- {
- IceUtil::Int64 l;
- IceUtilInternal::stringToInt64(value, l);
- //
- // The platform's 'long' type may not be 64 bits, so we store 64-bit
- // values as a string.
- //
- if(sizeof(IceUtil::Int64) > sizeof(long) && (l < LONG_MIN || l > LONG_MAX))
- {
- _out << "'" << value << "'";
- }
- else
- {
- _out << value;
- }
- break;
- }
- case Slice::Builtin::KindString:
- {
- // PHP 7.x also supports an EC6UCN-like notation, see:
- // https://wiki.php.net/rfc/unicode_escape
- //
- _out << "\"" << toStringLiteral(value, "\f\n\r\t\v\x1b", "$", Octal, 0) << "\"";
- break;
- }
- case Slice::Builtin::KindObject:
- case Slice::Builtin::KindObjectProxy:
- case Slice::Builtin::KindLocalObject:
- case Slice::Builtin::KindValue:
- assert(false);
- }
- }
- else if(en)
- {
- EnumeratorPtr lte = EnumeratorPtr::dynamicCast(valueType);
- assert(lte);
- _out << getAbsolute(en, _ns) << "::" << fixIdent(lte->name());
- }
- else
- {
- assert(false); // Unknown const type.
- }
- }
-}
-
-void
-CodeVisitor::writeConstructorParams(const MemberInfoList& members)
-{
- for(MemberInfoList::const_iterator p = members.begin(); p != members.end(); ++p)
- {
- if(p != members.begin())
- {
- _out << ", ";
- }
- _out << '$' << p->fixedName << "=";
-
- const DataMemberPtr member = p->dataMember;
- if(member->defaultValueType())
- {
- writeConstantValue(member->type(), member->defaultValueType(), member->defaultValue());
- }
- else if(member->optional())
- {
- _out << "Ice_Unset";
- }
- else
- {
- writeDefaultValue(member);
- }
- }
-}
-
-string
-CodeVisitor::getOperationMode(Slice::Operation::Mode mode, bool /*ns*/)
-{
- ostringstream ostr;
- ostr << static_cast<int>(mode);
- return ostr.str();
-}
-
-void
-CodeVisitor::collectClassMembers(const ClassDefPtr& p, MemberInfoList& allMembers, bool inherited)
-{
- ClassList bases = p->bases();
- if(!bases.empty() && !bases.front()->isInterface())
- {
- collectClassMembers(bases.front(), allMembers, true);
- }
-
- DataMemberList members = p->dataMembers();
-
- for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
- {
- MemberInfo m;
- m.fixedName = fixIdent((*q)->name());
- m.inherited = inherited;
- m.dataMember = *q;
- allMembers.push_back(m);
- }
-}
-
-void
-CodeVisitor::collectExceptionMembers(const ExceptionPtr& p, MemberInfoList& allMembers, bool inherited)
-{
- ExceptionPtr base = p->base();
- if(base)
- {
- collectExceptionMembers(base, allMembers, true);
- }
-
- DataMemberList members = p->dataMembers();
-
- for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
- {
- MemberInfo m;
- m.fixedName = fixIdent((*q)->name());
- m.inherited = inherited;
- m.dataMember = *q;
- allMembers.push_back(m);
- }
-}
-
-static void
-generate(const UnitPtr& un, bool all, bool checksum, bool ns, const vector<string>& includePaths, Output& out)
-{
- if(!all)
- {
- vector<string> paths = includePaths;
- for(vector<string>::iterator p = paths.begin(); p != paths.end(); ++p)
- {
- *p = fullPath(*p);
- }
-
- StringList includes = un->includeFiles();
- if(!includes.empty())
- {
- if(ns)
- {
- out << sp;
- out << nl << "namespace";
- out << sb;
- }
- for(StringList::const_iterator q = includes.begin(); q != includes.end(); ++q)
- {
- string file = changeInclude(*q, paths);
- out << nl << "require_once '" << file << ".php';";
- }
- if(ns)
- {
- out << eb;
- }
- }
- }
-
- CodeVisitor codeVisitor(out, ns);
- un->visit(&codeVisitor, false);
-
- if(checksum)
- {
- ChecksumMap checksums = createChecksums(un);
- if(!checksums.empty())
- {
- out << sp;
- if(ns)
- {
- out << "namespace"; // Global namespace.
- out << sb;
- }
- for(ChecksumMap::const_iterator p = checksums.begin(); p != checksums.end(); ++p)
- {
- out << nl << "$Ice_sliceChecksums[\"" << p->first << "\"] = \"";
- ostringstream str;
- str.flags(ios_base::hex);
- str.fill('0');
- for(vector<unsigned char>::const_iterator q = p->second.begin(); q != p->second.end(); ++q)
- {
- str << static_cast<int>(*q);
- }
- out << str.str() << "\";";
- }
- if(ns)
- {
- out << eb;
- }
- }
- }
-
- out << nl; // Trailing newline.
-}
-
-static void
-printHeader(IceUtilInternal::Output& out)
-{
- static const char* header =
- "// **********************************************************************\n"
- "//\n"
- "// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
- "//\n"
- "// This copy of Ice is licensed to you under the terms described in the\n"
- "// ICE_LICENSE file included in this distribution.\n"
- "//\n"
- "// **********************************************************************\n"
- ;
-
- out << header;
- out << "//\n";
- out << "// Ice version " << ICE_STRING_VERSION << "\n";
- out << "//\n";
-}
-
-namespace
-{
-
-IceUtil::Mutex* globalMutex = 0;
-bool interrupted = false;
-
-class Init
-{
-public:
-
- Init()
- {
- globalMutex = new IceUtil::Mutex;
- }
-
- ~Init()
- {
- delete globalMutex;
- globalMutex = 0;
- }
-};
-
-Init init;
-
-}
-
-static void
-interruptedCallback(int /*signal*/)
-{
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
-
- interrupted = true;
-}
-
-static void
-usage(const string& n)
-{
- consoleErr << "Usage: " << n << " [options] slice-files...\n";
- consoleErr <<
- "Options:\n"
- "-h, --help Show this message.\n"
- "-v, --version Display the Ice version.\n"
- "--validate Validate command line options.\n"
- "-DNAME Define NAME as 1.\n"
- "-DNAME=DEF Define NAME as DEF.\n"
- "-UNAME Remove any definition for NAME.\n"
- "-IDIR Put DIR in the include file search path.\n"
- "-E Print preprocessor output on stdout.\n"
- "--output-dir DIR Create files in the directory DIR.\n"
- "--depend Generate Makefile dependencies.\n"
- "--depend-xml Generate dependencies in XML format.\n"
- "--depend-file FILE Write dependencies to FILE instead of standard output.\n"
- "-d, --debug Print debug messages.\n"
- "--all Generate code for Slice definitions in included files.\n"
- "--checksum Generate checksums for Slice definitions.\n"
- "--no-namespace Do not use PHP namespaces (deprecated).\n"
- "--ice Allow reserved Ice prefix in Slice identifiers\n"
- " deprecated: use instead [[\"ice-prefix\"]] metadata.\n"
- "--underscore Allow underscores in Slice identifiers\n"
- " deprecated: use instead [[\"underscore\"]] metadata.\n"
- ;
-}
-
-int
-compile(const vector<string>& argv)
-{
- IceUtilInternal::Options opts;
- opts.addOpt("h", "help");
- opts.addOpt("v", "version");
- opts.addOpt("", "validate");
- opts.addOpt("D", "", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat);
- opts.addOpt("U", "", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat);
- opts.addOpt("I", "", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat);
- opts.addOpt("E");
- opts.addOpt("", "output-dir", IceUtilInternal::Options::NeedArg);
- opts.addOpt("", "depend");
- opts.addOpt("", "depend-xml");
- opts.addOpt("", "depend-file", IceUtilInternal::Options::NeedArg, "");
- opts.addOpt("d", "debug");
- opts.addOpt("", "ice");
- opts.addOpt("", "underscore");
- opts.addOpt("", "all");
- opts.addOpt("", "checksum");
- opts.addOpt("n", "no-namespace");
-
- bool validate = find(argv.begin(), argv.end(), "--validate") != argv.end();
-
- vector<string> args;
- try
- {
- args = opts.parse(argv);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- consoleErr << argv[0] << ": error: " << e.reason << endl;
- if(!validate)
- {
- usage(argv[0]);
- }
- return EXIT_FAILURE;
- }
-
- if(opts.isSet("help"))
- {
- usage(argv[0]);
- return EXIT_SUCCESS;
- }
-
- if(opts.isSet("version"))
- {
- consoleErr << ICE_STRING_VERSION << endl;
- return EXIT_SUCCESS;
- }
-
- vector<string> cppArgs;
- vector<string> optargs = opts.argVec("D");
- for(vector<string>::const_iterator i = optargs.begin(); i != optargs.end(); ++i)
- {
- cppArgs.push_back("-D" + *i);
- }
-
- optargs = opts.argVec("U");
- for(vector<string>::const_iterator i = optargs.begin(); i != optargs.end(); ++i)
- {
- cppArgs.push_back("-U" + *i);
- }
-
- vector<string> includePaths = opts.argVec("I");
- for(vector<string>::const_iterator i = includePaths.begin(); i != includePaths.end(); ++i)
- {
- cppArgs.push_back("-I" + Preprocessor::normalizeIncludePath(*i));
- }
-
- bool preprocess = opts.isSet("E");
-
- string output = opts.optArg("output-dir");
-
- bool depend = opts.isSet("depend");
-
- bool dependxml = opts.isSet("depend-xml");
-
- string dependFile = opts.optArg("depend-file");
-
- bool debug = opts.isSet("debug");
-
- bool ice = opts.isSet("ice");
-
- bool underscore = opts.isSet("underscore");
-
- bool all = opts.isSet("all");
-
- bool checksum = opts.isSet("checksum");
-
- bool ns = !opts.isSet("no-namespace");
-
- if(args.empty())
- {
- consoleErr << argv[0] << ": error: no input file" << endl;
- if(!validate)
- {
- usage(argv[0]);
- }
- return EXIT_FAILURE;
- }
-
- if(depend && dependxml)
- {
- consoleErr << argv[0] << ": error: cannot specify both --depend and --depend-xml" << endl;
- if(!validate)
- {
- usage(argv[0]);
- }
- return EXIT_FAILURE;
- }
-
- if(validate)
- {
- return EXIT_SUCCESS;
- }
-
- int status = EXIT_SUCCESS;
-
- IceUtil::CtrlCHandler ctrlCHandler;
- ctrlCHandler.setCallback(interruptedCallback);
-
- ostringstream os;
- if(dependxml)
- {
- os << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dependencies>" << endl;
- }
-
- for(vector<string>::const_iterator i = args.begin(); i != args.end(); ++i)
- {
- //
- // Ignore duplicates.
- //
- vector<string>::iterator p = find(args.begin(), args.end(), *i);
- if(p != i)
- {
- continue;
- }
-
- if(depend || dependxml)
- {
- PreprocessorPtr icecpp = Preprocessor::create(argv[0], *i, cppArgs);
- FILE* cppHandle = icecpp->preprocess(false, "-D__SLICE2PHP__");
-
- if(cppHandle == 0)
- {
- return EXIT_FAILURE;
- }
-
- UnitPtr u = Unit::createUnit(false, false, ice, underscore);
- int parseStatus = u->parse(*i, cppHandle, debug);
- u->destroy();
-
- if(parseStatus == EXIT_FAILURE)
- {
- return EXIT_FAILURE;
- }
-
- if(!icecpp->printMakefileDependencies(os, depend ? Preprocessor::PHP : Preprocessor::SliceXML,
- includePaths, "-D__SLICE2PHP__"))
- {
- return EXIT_FAILURE;
- }
-
- if(!icecpp->close())
- {
- return EXIT_FAILURE;
- }
- }
- else
- {
- PreprocessorPtr icecpp = Preprocessor::create(argv[0], *i, cppArgs);
- FILE* cppHandle = icecpp->preprocess(false, "-D__SLICE2PHP__");
-
- if(cppHandle == 0)
- {
- return EXIT_FAILURE;
- }
-
- if(preprocess)
- {
- char buf[4096];
- while(fgets(buf, static_cast<int>(sizeof(buf)), cppHandle) != ICE_NULLPTR)
- {
- if(fputs(buf, stdout) == EOF)
- {
- return EXIT_FAILURE;
- }
- }
- if(!icecpp->close())
- {
- return EXIT_FAILURE;
- }
- }
- else
- {
- UnitPtr u = Unit::createUnit(false, all, ice, underscore);
- int parseStatus = u->parse(*i, cppHandle, debug);
-
- if(!icecpp->close())
- {
- u->destroy();
- return EXIT_FAILURE;
- }
-
- if(parseStatus == EXIT_FAILURE)
- {
- status = EXIT_FAILURE;
- }
- else
- {
- string base = icecpp->getBaseName();
- string::size_type pos = base.find_last_of("/\\");
- if(pos != string::npos)
- {
- base.erase(0, pos + 1);
- }
-
- string file = base + ".php";
- if(!output.empty())
- {
- file = output + '/' + file;
- }
-
- try
- {
- IceUtilInternal::Output out;
- out.open(file.c_str());
- if(!out)
- {
- ostringstream os;
- os << "cannot open`" << file << "': " << strerror(errno);
- throw FileException(__FILE__, __LINE__, os.str());
- }
- FileTracker::instance()->addFile(file);
-
- out << "<?php\n";
- printHeader(out);
- printGeneratedHeader(out, base + ".ice");
-
- //
- // Generate the PHP mapping.
- //
- generate(u, all, checksum, ns, includePaths, out);
-
- out << "?>\n";
- out.close();
- }
- catch(const Slice::FileException& ex)
- {
- // If a file could not be created, then cleanup any
- // created files.
- FileTracker::instance()->cleanup();
- u->destroy();
- consoleErr << argv[0] << ": error: " << ex.reason() << endl;
- return EXIT_FAILURE;
- }
- catch(const string& err)
- {
- FileTracker::instance()->cleanup();
- consoleErr << argv[0] << ": error: " << err << endl;
- status = EXIT_FAILURE;
- }
- }
-
- u->destroy();
- }
- }
-
- {
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
-
- if(interrupted)
- {
- FileTracker::instance()->cleanup();
- return EXIT_FAILURE;
- }
- }
- }
-
- if(dependxml)
- {
- os << "</dependencies>\n";
- }
-
- if(depend || dependxml)
- {
- writeDependencies(os.str(), dependFile);
- }
-
- return status;
-}
-
-#ifdef _WIN32
-int wmain(int argc, wchar_t* argv[])
-#else
-int main(int argc, char* argv[])
-#endif
-{
- vector<string> args = Slice::argvToArgs(argc, argv);
- try
- {
- return compile(args);
- }
- catch(const std::exception& ex)
- {
- consoleErr << args[0] << ": error:" << ex.what() << endl;
- return EXIT_FAILURE;
- }
- catch(const std::string& msg)
- {
- consoleErr << args[0] << ": error:" << msg << endl;
- return EXIT_FAILURE;
- }
- catch(const char* msg)
- {
- consoleErr << args[0] << ": error:" << msg << endl;
- return EXIT_FAILURE;
- }
- catch(...)
- {
- consoleErr << args[0] << ": error:" << "unknown exception" << endl;
- return EXIT_FAILURE;
- }
-}
diff --git a/cpp/src/slice2py/Main.cpp b/cpp/src/slice2py/Main.cpp
index d98fab29725..7fa6b449a1d 100644
--- a/cpp/src/slice2py/Main.cpp
+++ b/cpp/src/slice2py/Main.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/src/slice2py/Slice2Py.rc b/cpp/src/slice2py/Slice2Py.rc
deleted file mode 100644
index 916b4be8d9f..00000000000
--- a/cpp/src/slice2py/Slice2Py.rc
+++ /dev/null
@@ -1,33 +0,0 @@
-#include<IceUtil/ResourceConfig.h>
-
-#define ICE_INTERNALNAME "slice2py\0"
-#define ICE_ORIGINALFILENAME "slice2py.exe\0"
-
-VS_VERSION_INFO VERSIONINFO
-FILEVERSION ICE_VERSION
-PRODUCTVERSION ICE_VERSION
-FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
-FILEOS VOS_NT_WINDOWS32
-FILETYPE VFT_APP
-FILESUBTYPE VFT2_UNKNOWN
-FILEFLAGS VER_DEBUG
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904e4"
- BEGIN
- VALUE "CompanyName", ICE_COMPANY_NAME
- VALUE "FileDescription", "Slice to Python Translator\0"
- VALUE "FileVersion", ICE_STRING_VERSION
- VALUE "InternalName", ICE_INTERNALNAME
- VALUE "LegalCopyright", ICE_COPYRIGHT
- VALUE "OriginalFilename", ICE_ORIGINALFILENAME
- VALUE "ProductName", ICE_PRODUCT_NAME
- VALUE "ProductVersion", ICE_STRING_VERSION
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1252
- END
-END
diff --git a/cpp/test/Glacier2/attack/Backend.ice b/cpp/test/Glacier2/attack/Backend.ice
index 1652daf5957..73be98deac6 100644
--- a/cpp/test/Glacier2/attack/Backend.ice
+++ b/cpp/test/Glacier2/attack/Backend.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/attack/BackendI.cpp b/cpp/test/Glacier2/attack/BackendI.cpp
index b2c46065194..283f3fff43b 100644
--- a/cpp/test/Glacier2/attack/BackendI.cpp
+++ b/cpp/test/Glacier2/attack/BackendI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/attack/BackendI.h b/cpp/test/Glacier2/attack/BackendI.h
index 3b8b227e908..2872a423daa 100644
--- a/cpp/test/Glacier2/attack/BackendI.h
+++ b/cpp/test/Glacier2/attack/BackendI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/attack/Client.cpp b/cpp/test/Glacier2/attack/Client.cpp
index 33657b2d717..542d409e5cf 100644
--- a/cpp/test/Glacier2/attack/Client.cpp
+++ b/cpp/test/Glacier2/attack/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/attack/Server.cpp b/cpp/test/Glacier2/attack/Server.cpp
index acbc5cb31a0..a04171569a4 100644
--- a/cpp/test/Glacier2/attack/Server.cpp
+++ b/cpp/test/Glacier2/attack/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp b/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp
index b7c0d2329b4..39ac7dab240 100644
--- a/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/BackendI.h b/cpp/test/Glacier2/dynamicFiltering/BackendI.h
index c64c42a6eee..b6551f64b3f 100644
--- a/cpp/test/Glacier2/dynamicFiltering/BackendI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/BackendI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/Client.cpp b/cpp/test/Glacier2/dynamicFiltering/Client.cpp
index 1c06191e764..46fcdd929e0 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Client.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/Server.cpp b/cpp/test/Glacier2/dynamicFiltering/Server.cpp
index b732b4c965c..4ee93e73917 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Server.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp b/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp
index 4fd4b6853bf..3a1a617d0da 100644
--- a/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/SessionI.h b/cpp/test/Glacier2/dynamicFiltering/SessionI.h
index 8e9769e6c0d..6f9e09dd037 100644
--- a/cpp/test/Glacier2/dynamicFiltering/SessionI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/SessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/Test.ice b/cpp/test/Glacier2/dynamicFiltering/Test.ice
index ba7888bdaf0..8f1b0155a41 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Test.ice
+++ b/cpp/test/Glacier2/dynamicFiltering/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
index 10b93a5c397..29eecdf4d8d 100644
--- a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h
index 75b07c22c66..c2b843cfd50 100644
--- a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/override/Callback.ice b/cpp/test/Glacier2/override/Callback.ice
index aa1e53e8168..7597680538b 100644
--- a/cpp/test/Glacier2/override/Callback.ice
+++ b/cpp/test/Glacier2/override/Callback.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/override/CallbackI.cpp b/cpp/test/Glacier2/override/CallbackI.cpp
index 219aab834ad..57317ac4438 100644
--- a/cpp/test/Glacier2/override/CallbackI.cpp
+++ b/cpp/test/Glacier2/override/CallbackI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/override/CallbackI.h b/cpp/test/Glacier2/override/CallbackI.h
index 20a69c78cb0..489219787a1 100644
--- a/cpp/test/Glacier2/override/CallbackI.h
+++ b/cpp/test/Glacier2/override/CallbackI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/override/Client.cpp b/cpp/test/Glacier2/override/Client.cpp
index 4bfaa9aa46c..3aaaf44aa94 100644
--- a/cpp/test/Glacier2/override/Client.cpp
+++ b/cpp/test/Glacier2/override/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/override/Server.cpp b/cpp/test/Glacier2/override/Server.cpp
index 99b943dcaa4..a19d8fb9327 100644
--- a/cpp/test/Glacier2/override/Server.cpp
+++ b/cpp/test/Glacier2/override/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/router/Callback.ice b/cpp/test/Glacier2/router/Callback.ice
index 62ef69b2259..0b79b4b1ecd 100644
--- a/cpp/test/Glacier2/router/Callback.ice
+++ b/cpp/test/Glacier2/router/Callback.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/router/CallbackI.cpp b/cpp/test/Glacier2/router/CallbackI.cpp
index 365a7b3d896..615c4e122b6 100644
--- a/cpp/test/Glacier2/router/CallbackI.cpp
+++ b/cpp/test/Glacier2/router/CallbackI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/router/CallbackI.h b/cpp/test/Glacier2/router/CallbackI.h
index 2d9841f660c..eb4b0d9b2c6 100644
--- a/cpp/test/Glacier2/router/CallbackI.h
+++ b/cpp/test/Glacier2/router/CallbackI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/router/Client.cpp b/cpp/test/Glacier2/router/Client.cpp
index 447a700c54c..3966be68723 100644
--- a/cpp/test/Glacier2/router/Client.cpp
+++ b/cpp/test/Glacier2/router/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/router/Server.cpp b/cpp/test/Glacier2/router/Server.cpp
index 2ed1ac0e4b8..1594d6b6e9d 100644
--- a/cpp/test/Glacier2/router/Server.cpp
+++ b/cpp/test/Glacier2/router/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionControl/Client.cpp b/cpp/test/Glacier2/sessionControl/Client.cpp
index 82f928bf641..f757ab365b6 100644
--- a/cpp/test/Glacier2/sessionControl/Client.cpp
+++ b/cpp/test/Glacier2/sessionControl/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionControl/Server.cpp b/cpp/test/Glacier2/sessionControl/Server.cpp
index 6994ad641cd..7f8256f9132 100644
--- a/cpp/test/Glacier2/sessionControl/Server.cpp
+++ b/cpp/test/Glacier2/sessionControl/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionControl/Session.ice b/cpp/test/Glacier2/sessionControl/Session.ice
index bec2a49ff2b..b1ce5f922dd 100644
--- a/cpp/test/Glacier2/sessionControl/Session.ice
+++ b/cpp/test/Glacier2/sessionControl/Session.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionControl/SessionI.cpp b/cpp/test/Glacier2/sessionControl/SessionI.cpp
index acb1b9927e7..b8d57da0ed7 100644
--- a/cpp/test/Glacier2/sessionControl/SessionI.cpp
+++ b/cpp/test/Glacier2/sessionControl/SessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionControl/SessionI.h b/cpp/test/Glacier2/sessionControl/SessionI.h
index 69759d9fa0f..72ac058941c 100644
--- a/cpp/test/Glacier2/sessionControl/SessionI.h
+++ b/cpp/test/Glacier2/sessionControl/SessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionHelper/Callback.ice b/cpp/test/Glacier2/sessionHelper/Callback.ice
index d77b598d353..14fd14d6048 100644
--- a/cpp/test/Glacier2/sessionHelper/Callback.ice
+++ b/cpp/test/Glacier2/sessionHelper/Callback.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionHelper/Client.cpp b/cpp/test/Glacier2/sessionHelper/Client.cpp
index 352611a889d..2856e5aa26c 100644
--- a/cpp/test/Glacier2/sessionHelper/Client.cpp
+++ b/cpp/test/Glacier2/sessionHelper/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/sessionHelper/Server.cpp b/cpp/test/Glacier2/sessionHelper/Server.cpp
index 9f33dc89d78..2a0d354755c 100644
--- a/cpp/test/Glacier2/sessionHelper/Server.cpp
+++ b/cpp/test/Glacier2/sessionHelper/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/ssl/Client.cpp b/cpp/test/Glacier2/ssl/Client.cpp
index 6ed1c17550a..afa14334d9a 100644
--- a/cpp/test/Glacier2/ssl/Client.cpp
+++ b/cpp/test/Glacier2/ssl/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/ssl/Server.cpp b/cpp/test/Glacier2/ssl/Server.cpp
index 8d6441b7c0e..b2ad016c704 100644
--- a/cpp/test/Glacier2/ssl/Server.cpp
+++ b/cpp/test/Glacier2/ssl/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/staticFiltering/Backend.ice b/cpp/test/Glacier2/staticFiltering/Backend.ice
index 1652daf5957..73be98deac6 100644
--- a/cpp/test/Glacier2/staticFiltering/Backend.ice
+++ b/cpp/test/Glacier2/staticFiltering/Backend.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/staticFiltering/BackendI.cpp b/cpp/test/Glacier2/staticFiltering/BackendI.cpp
index b2c46065194..283f3fff43b 100644
--- a/cpp/test/Glacier2/staticFiltering/BackendI.cpp
+++ b/cpp/test/Glacier2/staticFiltering/BackendI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/staticFiltering/BackendI.h b/cpp/test/Glacier2/staticFiltering/BackendI.h
index 3b8b227e908..2872a423daa 100644
--- a/cpp/test/Glacier2/staticFiltering/BackendI.h
+++ b/cpp/test/Glacier2/staticFiltering/BackendI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/staticFiltering/Client.cpp b/cpp/test/Glacier2/staticFiltering/Client.cpp
index 88c379232c1..61568d06b97 100644
--- a/cpp/test/Glacier2/staticFiltering/Client.cpp
+++ b/cpp/test/Glacier2/staticFiltering/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Glacier2/staticFiltering/Server.cpp b/cpp/test/Glacier2/staticFiltering/Server.cpp
index 5c625c599bd..2cd46201f5b 100644
--- a/cpp/test/Glacier2/staticFiltering/Server.cpp
+++ b/cpp/test/Glacier2/staticFiltering/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/acm/AllTests.cpp b/cpp/test/Ice/acm/AllTests.cpp
index 73356220f55..8e65c65251e 100644
--- a/cpp/test/Ice/acm/AllTests.cpp
+++ b/cpp/test/Ice/acm/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/acm/Client.cpp b/cpp/test/Ice/acm/Client.cpp
deleted file mode 100644
index 4a0ad4acf99..00000000000
--- a/cpp/test/Ice/acm/Client.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2016 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/Ice.h>
-#include <TestCommon.h>
-#include <Test.h>
-
-DEFINE_TEST("client")
-
-using namespace std;
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
-{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL();
-# if defined(__linux)
- Ice::registerIceBT();
-# endif
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- Ice::CommunicatorHolder ich = Ice::initialize(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
diff --git a/cpp/test/Ice/acm/Server.cpp b/cpp/test/Ice/acm/Server.cpp
index 068441bada3..01fb3134f9d 100644
--- a/cpp/test/Ice/acm/Server.cpp
+++ b/cpp/test/Ice/acm/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/acm/Test.ice b/cpp/test/Ice/acm/Test.ice
index d78abd6eb0f..7018c9df821 100644
--- a/cpp/test/Ice/acm/Test.ice
+++ b/cpp/test/Ice/acm/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/acm/TestI.cpp b/cpp/test/Ice/acm/TestI.cpp
index f4987856421..9d081c460fd 100644
--- a/cpp/test/Ice/acm/TestI.cpp
+++ b/cpp/test/Ice/acm/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/acm/TestI.h b/cpp/test/Ice/acm/TestI.h
index c45415022a6..1956caaaaee 100644
--- a/cpp/test/Ice/acm/TestI.h
+++ b/cpp/test/Ice/acm/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/AllTests.cpp b/cpp/test/Ice/adapterDeactivation/AllTests.cpp
index 768d679edd2..338393c7862 100644
--- a/cpp/test/Ice/adapterDeactivation/AllTests.cpp
+++ b/cpp/test/Ice/adapterDeactivation/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/Client.cpp b/cpp/test/Ice/adapterDeactivation/Client.cpp
index 95ab86309cb..50d5f4bf350 100644
--- a/cpp/test/Ice/adapterDeactivation/Client.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/Collocated.cpp b/cpp/test/Ice/adapterDeactivation/Collocated.cpp
index 2be431c8db5..fb6ed4766b9 100644
--- a/cpp/test/Ice/adapterDeactivation/Collocated.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
index b73ef715829..0af434db4be 100644
--- a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h
index 6ce4214329c..900717df0c2 100644
--- a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h
+++ b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/Server.cpp b/cpp/test/Ice/adapterDeactivation/Server.cpp
index b737e236f68..0e8fa45f5c7 100644
--- a/cpp/test/Ice/adapterDeactivation/Server.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/Test.ice b/cpp/test/Ice/adapterDeactivation/Test.ice
index 152fcb5d21e..faae27462f1 100644
--- a/cpp/test/Ice/adapterDeactivation/Test.ice
+++ b/cpp/test/Ice/adapterDeactivation/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/TestI.cpp b/cpp/test/Ice/adapterDeactivation/TestI.cpp
index f318420ab1d..290572988b7 100644
--- a/cpp/test/Ice/adapterDeactivation/TestI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/adapterDeactivation/TestI.h b/cpp/test/Ice/adapterDeactivation/TestI.h
index a43d7c2bb02..ca491257e31 100644
--- a/cpp/test/Ice/adapterDeactivation/TestI.h
+++ b/cpp/test/Ice/adapterDeactivation/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/AllTests.cpp b/cpp/test/Ice/admin/AllTests.cpp
index 9f68051843c..97a6c110045 100644
--- a/cpp/test/Ice/admin/AllTests.cpp
+++ b/cpp/test/Ice/admin/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/Client.cpp b/cpp/test/Ice/admin/Client.cpp
index 1fcfc0a05ad..2394272d663 100644
--- a/cpp/test/Ice/admin/Client.cpp
+++ b/cpp/test/Ice/admin/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/Server.cpp b/cpp/test/Ice/admin/Server.cpp
index 729f9bd73ea..c870d5b6cbc 100644
--- a/cpp/test/Ice/admin/Server.cpp
+++ b/cpp/test/Ice/admin/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/Test.ice b/cpp/test/Ice/admin/Test.ice
index 02d8b851738..ba1eec0f62e 100644
--- a/cpp/test/Ice/admin/Test.ice
+++ b/cpp/test/Ice/admin/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/TestI.cpp b/cpp/test/Ice/admin/TestI.cpp
index f12f5488575..59e18c6ec57 100644
--- a/cpp/test/Ice/admin/TestI.cpp
+++ b/cpp/test/Ice/admin/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/admin/TestI.h b/cpp/test/Ice/admin/TestI.h
index 8cac5c9d574..4694d14ab92 100644
--- a/cpp/test/Ice/admin/TestI.h
+++ b/cpp/test/Ice/admin/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/AllTests.cpp b/cpp/test/Ice/ami/AllTests.cpp
index ba49a3ec662..9e845bd022e 100644
--- a/cpp/test/Ice/ami/AllTests.cpp
+++ b/cpp/test/Ice/ami/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/Client.cpp b/cpp/test/Ice/ami/Client.cpp
index c6915bc2557..92f4fb65bb1 100644
--- a/cpp/test/Ice/ami/Client.cpp
+++ b/cpp/test/Ice/ami/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/Collocated.cpp b/cpp/test/Ice/ami/Collocated.cpp
index 46d1aec0736..2b7fc37fab9 100644
--- a/cpp/test/Ice/ami/Collocated.cpp
+++ b/cpp/test/Ice/ami/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/Server.cpp b/cpp/test/Ice/ami/Server.cpp
index b021aa221eb..819667c3fd4 100644
--- a/cpp/test/Ice/ami/Server.cpp
+++ b/cpp/test/Ice/ami/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/Test.ice b/cpp/test/Ice/ami/Test.ice
index 7cc9091d806..412ca287d00 100644
--- a/cpp/test/Ice/ami/Test.ice
+++ b/cpp/test/Ice/ami/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/TestI.cpp b/cpp/test/Ice/ami/TestI.cpp
index b52678a590e..3e3a2fe1ea4 100644
--- a/cpp/test/Ice/ami/TestI.cpp
+++ b/cpp/test/Ice/ami/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/ami/TestI.h b/cpp/test/Ice/ami/TestI.h
index c839cafb551..efbe38754ec 100644
--- a/cpp/test/Ice/ami/TestI.h
+++ b/cpp/test/Ice/ami/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Acceptor.cpp b/cpp/test/Ice/background/Acceptor.cpp
index b1838fe683a..a3f7e3392d3 100644
--- a/cpp/test/Ice/background/Acceptor.cpp
+++ b/cpp/test/Ice/background/Acceptor.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Acceptor.h b/cpp/test/Ice/background/Acceptor.h
index a5b75762d15..43ff8f625c0 100644
--- a/cpp/test/Ice/background/Acceptor.h
+++ b/cpp/test/Ice/background/Acceptor.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/AllTests.cpp b/cpp/test/Ice/background/AllTests.cpp
index 7d5854eead8..73b505e5c2d 100644
--- a/cpp/test/Ice/background/AllTests.cpp
+++ b/cpp/test/Ice/background/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Client.cpp b/cpp/test/Ice/background/Client.cpp
index c6c6510ef2a..ae7e42a4b17 100644
--- a/cpp/test/Ice/background/Client.cpp
+++ b/cpp/test/Ice/background/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Configuration.cpp b/cpp/test/Ice/background/Configuration.cpp
index 6da60c3d2fd..16365ed3de1 100644
--- a/cpp/test/Ice/background/Configuration.cpp
+++ b/cpp/test/Ice/background/Configuration.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Configuration.h b/cpp/test/Ice/background/Configuration.h
index 367dfaa4429..d75c61b0ff2 100644
--- a/cpp/test/Ice/background/Configuration.h
+++ b/cpp/test/Ice/background/Configuration.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Connector.cpp b/cpp/test/Ice/background/Connector.cpp
index 59c9e206161..795adbbcf5e 100644
--- a/cpp/test/Ice/background/Connector.cpp
+++ b/cpp/test/Ice/background/Connector.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Connector.h b/cpp/test/Ice/background/Connector.h
index cafcbb8ab21..d71087be1e2 100644
--- a/cpp/test/Ice/background/Connector.h
+++ b/cpp/test/Ice/background/Connector.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/EndpointFactory.cpp b/cpp/test/Ice/background/EndpointFactory.cpp
index bf1cb1422b0..33e85705275 100644
--- a/cpp/test/Ice/background/EndpointFactory.cpp
+++ b/cpp/test/Ice/background/EndpointFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/EndpointFactory.h b/cpp/test/Ice/background/EndpointFactory.h
index 9dab2bac2ef..c5a375e88e0 100644
--- a/cpp/test/Ice/background/EndpointFactory.h
+++ b/cpp/test/Ice/background/EndpointFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/EndpointI.cpp b/cpp/test/Ice/background/EndpointI.cpp
index 2866395954c..225f7ef0997 100644
--- a/cpp/test/Ice/background/EndpointI.cpp
+++ b/cpp/test/Ice/background/EndpointI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/EndpointI.h b/cpp/test/Ice/background/EndpointI.h
index cec84a2d0fd..2c70a1dfb4e 100644
--- a/cpp/test/Ice/background/EndpointI.h
+++ b/cpp/test/Ice/background/EndpointI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/PluginI.cpp b/cpp/test/Ice/background/PluginI.cpp
index 8e66779a731..5b4cffd557c 100644
--- a/cpp/test/Ice/background/PluginI.cpp
+++ b/cpp/test/Ice/background/PluginI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/PluginI.h b/cpp/test/Ice/background/PluginI.h
index ec34c6d98ad..f3065b780cf 100644
--- a/cpp/test/Ice/background/PluginI.h
+++ b/cpp/test/Ice/background/PluginI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Server.cpp b/cpp/test/Ice/background/Server.cpp
index 84545c8a271..b278b191d44 100644
--- a/cpp/test/Ice/background/Server.cpp
+++ b/cpp/test/Ice/background/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Test.ice b/cpp/test/Ice/background/Test.ice
index 7751a81b12b..9147f690b02 100644
--- a/cpp/test/Ice/background/Test.ice
+++ b/cpp/test/Ice/background/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/TestI.cpp b/cpp/test/Ice/background/TestI.cpp
index b03202da25d..1239ee68c48 100644
--- a/cpp/test/Ice/background/TestI.cpp
+++ b/cpp/test/Ice/background/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/TestI.h b/cpp/test/Ice/background/TestI.h
index 3398fa3d784..3b367799fcf 100644
--- a/cpp/test/Ice/background/TestI.h
+++ b/cpp/test/Ice/background/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Transceiver.cpp b/cpp/test/Ice/background/Transceiver.cpp
index 18396d6e00f..65b0b42193a 100644
--- a/cpp/test/Ice/background/Transceiver.cpp
+++ b/cpp/test/Ice/background/Transceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/background/Transceiver.h b/cpp/test/Ice/background/Transceiver.h
index f84f531126b..1c48ead2a77 100644
--- a/cpp/test/Ice/background/Transceiver.h
+++ b/cpp/test/Ice/background/Transceiver.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/AllTests.cpp b/cpp/test/Ice/binding/AllTests.cpp
index 4a07f3675d3..332ff919d3c 100644
--- a/cpp/test/Ice/binding/AllTests.cpp
+++ b/cpp/test/Ice/binding/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/Client.cpp b/cpp/test/Ice/binding/Client.cpp
index 0b89cb19ab3..49e963e272b 100644
--- a/cpp/test/Ice/binding/Client.cpp
+++ b/cpp/test/Ice/binding/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/Server.cpp b/cpp/test/Ice/binding/Server.cpp
index 0949f2c870c..e67ec41eaf2 100644
--- a/cpp/test/Ice/binding/Server.cpp
+++ b/cpp/test/Ice/binding/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/Test.ice b/cpp/test/Ice/binding/Test.ice
index b2df2c14f41..75b200b02e6 100644
--- a/cpp/test/Ice/binding/Test.ice
+++ b/cpp/test/Ice/binding/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/TestI.cpp b/cpp/test/Ice/binding/TestI.cpp
index f191b1c176a..1cafa284c46 100644
--- a/cpp/test/Ice/binding/TestI.cpp
+++ b/cpp/test/Ice/binding/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/binding/TestI.h b/cpp/test/Ice/binding/TestI.h
index 478e376ac73..a8ae23f9e56 100644
--- a/cpp/test/Ice/binding/TestI.h
+++ b/cpp/test/Ice/binding/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/checksum/AllTests.cpp b/cpp/test/Ice/checksum/AllTests.cpp
index f3da8bc5a94..bbc06b3190c 100644
--- a/cpp/test/Ice/checksum/AllTests.cpp
+++ b/cpp/test/Ice/checksum/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/checksum/Client.cpp b/cpp/test/Ice/checksum/Client.cpp
index e2b795b39bf..c7f890739b7 100644
--- a/cpp/test/Ice/checksum/Client.cpp
+++ b/cpp/test/Ice/checksum/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/checksum/Test.ice b/cpp/test/Ice/checksum/Test.ice
index 4be4d8081a5..444d9ec060a 100644
--- a/cpp/test/Ice/checksum/Test.ice
+++ b/cpp/test/Ice/checksum/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/checksum/TestI.cpp b/cpp/test/Ice/checksum/TestI.cpp
index 203dc74269e..182a6156785 100644
--- a/cpp/test/Ice/checksum/TestI.cpp
+++ b/cpp/test/Ice/checksum/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/checksum/TestI.h b/cpp/test/Ice/checksum/TestI.h
index 49c07a3b17e..734e111f06c 100644
--- a/cpp/test/Ice/checksum/TestI.h
+++ b/cpp/test/Ice/checksum/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/AllTests.cpp b/cpp/test/Ice/custom/AllTests.cpp
index 038fcb30f19..6d4874847aa 100644
--- a/cpp/test/Ice/custom/AllTests.cpp
+++ b/cpp/test/Ice/custom/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/Client.cpp b/cpp/test/Ice/custom/Client.cpp
index 49b0d9281e9..6e8bfb5707d 100644
--- a/cpp/test/Ice/custom/Client.cpp
+++ b/cpp/test/Ice/custom/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/Collocated.cpp b/cpp/test/Ice/custom/Collocated.cpp
index dd318ab63a4..65151fca950 100644
--- a/cpp/test/Ice/custom/Collocated.cpp
+++ b/cpp/test/Ice/custom/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/CustomBuffer.h b/cpp/test/Ice/custom/CustomBuffer.h
index 146266670fc..985850ffd59 100644
--- a/cpp/test/Ice/custom/CustomBuffer.h
+++ b/cpp/test/Ice/custom/CustomBuffer.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/CustomMap.h b/cpp/test/Ice/custom/CustomMap.h
index 306aa345ef0..b47db0bf65e 100644
--- a/cpp/test/Ice/custom/CustomMap.h
+++ b/cpp/test/Ice/custom/CustomMap.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/MyByteSeq.cpp b/cpp/test/Ice/custom/MyByteSeq.cpp
index 9f0f9db5346..6c6573e8090 100644
--- a/cpp/test/Ice/custom/MyByteSeq.cpp
+++ b/cpp/test/Ice/custom/MyByteSeq.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/MyByteSeq.h b/cpp/test/Ice/custom/MyByteSeq.h
index b461125bb99..76124a8204a 100644
--- a/cpp/test/Ice/custom/MyByteSeq.h
+++ b/cpp/test/Ice/custom/MyByteSeq.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/Server.cpp b/cpp/test/Ice/custom/Server.cpp
index 1eeb89f4f75..1ebad1216b2 100644
--- a/cpp/test/Ice/custom/Server.cpp
+++ b/cpp/test/Ice/custom/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/ServerAMD.cpp b/cpp/test/Ice/custom/ServerAMD.cpp
index 3e015fb1d9f..0499b283235 100644
--- a/cpp/test/Ice/custom/ServerAMD.cpp
+++ b/cpp/test/Ice/custom/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/StringConverterI.cpp b/cpp/test/Ice/custom/StringConverterI.cpp
index b66c5da7ac5..3c0d51206b1 100644
--- a/cpp/test/Ice/custom/StringConverterI.cpp
+++ b/cpp/test/Ice/custom/StringConverterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/StringConverterI.h b/cpp/test/Ice/custom/StringConverterI.h
index bf52bbb0f36..bb3284152dd 100644
--- a/cpp/test/Ice/custom/StringConverterI.h
+++ b/cpp/test/Ice/custom/StringConverterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/StringView.h b/cpp/test/Ice/custom/StringView.h
index 43e5bf74bb7..f970f642b0d 100644
--- a/cpp/test/Ice/custom/StringView.h
+++ b/cpp/test/Ice/custom/StringView.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/Test.ice b/cpp/test/Ice/custom/Test.ice
index 5f1d5a07925..614137c680a 100644
--- a/cpp/test/Ice/custom/Test.ice
+++ b/cpp/test/Ice/custom/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/TestAMD.ice b/cpp/test/Ice/custom/TestAMD.ice
index 01840519ee4..0d3a3c39b88 100644
--- a/cpp/test/Ice/custom/TestAMD.ice
+++ b/cpp/test/Ice/custom/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/TestAMDI.cpp b/cpp/test/Ice/custom/TestAMDI.cpp
index 31f3d5d58ea..a54205383a1 100644
--- a/cpp/test/Ice/custom/TestAMDI.cpp
+++ b/cpp/test/Ice/custom/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/TestAMDI.h b/cpp/test/Ice/custom/TestAMDI.h
index 1198e7b02b7..0b643269641 100644
--- a/cpp/test/Ice/custom/TestAMDI.h
+++ b/cpp/test/Ice/custom/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/TestI.cpp b/cpp/test/Ice/custom/TestI.cpp
index e7c254605a2..42915b33e51 100644
--- a/cpp/test/Ice/custom/TestI.cpp
+++ b/cpp/test/Ice/custom/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/TestI.h b/cpp/test/Ice/custom/TestI.h
index f0cf2cbd7ae..15e2de12d73 100644
--- a/cpp/test/Ice/custom/TestI.h
+++ b/cpp/test/Ice/custom/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/Wstring.ice b/cpp/test/Ice/custom/Wstring.ice
index 48276b63a1f..3ce8d111095 100644
--- a/cpp/test/Ice/custom/Wstring.ice
+++ b/cpp/test/Ice/custom/Wstring.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/WstringAMD.ice b/cpp/test/Ice/custom/WstringAMD.ice
index 2f8e04c7f86..2b52952dea8 100644
--- a/cpp/test/Ice/custom/WstringAMD.ice
+++ b/cpp/test/Ice/custom/WstringAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/WstringAMDI.cpp b/cpp/test/Ice/custom/WstringAMDI.cpp
index 1641cf96cb2..b91f709e8b1 100644
--- a/cpp/test/Ice/custom/WstringAMDI.cpp
+++ b/cpp/test/Ice/custom/WstringAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/WstringAMDI.h b/cpp/test/Ice/custom/WstringAMDI.h
index 1af66349311..2c82657b1cc 100644
--- a/cpp/test/Ice/custom/WstringAMDI.h
+++ b/cpp/test/Ice/custom/WstringAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/WstringI.cpp b/cpp/test/Ice/custom/WstringI.cpp
index a3e28b2cfd5..96668606c41 100644
--- a/cpp/test/Ice/custom/WstringI.cpp
+++ b/cpp/test/Ice/custom/WstringI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/custom/WstringI.h b/cpp/test/Ice/custom/WstringI.h
index 4836be95a66..09f7e519ae0 100644
--- a/cpp/test/Ice/custom/WstringI.h
+++ b/cpp/test/Ice/custom/WstringI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultServant/AllTests.cpp b/cpp/test/Ice/defaultServant/AllTests.cpp
index ac2e1830eb5..3edac9d50dc 100644
--- a/cpp/test/Ice/defaultServant/AllTests.cpp
+++ b/cpp/test/Ice/defaultServant/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultServant/Client.cpp b/cpp/test/Ice/defaultServant/Client.cpp
index c8c6f178e64..718ff3b8e5d 100644
--- a/cpp/test/Ice/defaultServant/Client.cpp
+++ b/cpp/test/Ice/defaultServant/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultServant/Test.ice b/cpp/test/Ice/defaultServant/Test.ice
index 1c9fa65c082..579a3f3b204 100644
--- a/cpp/test/Ice/defaultServant/Test.ice
+++ b/cpp/test/Ice/defaultServant/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultServant/TestI.cpp b/cpp/test/Ice/defaultServant/TestI.cpp
index ba074f8da95..c306c23179f 100644
--- a/cpp/test/Ice/defaultServant/TestI.cpp
+++ b/cpp/test/Ice/defaultServant/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultServant/TestI.h b/cpp/test/Ice/defaultServant/TestI.h
index cd93842597f..c06bb5f6df4 100644
--- a/cpp/test/Ice/defaultServant/TestI.h
+++ b/cpp/test/Ice/defaultServant/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultValue/AllTests.cpp b/cpp/test/Ice/defaultValue/AllTests.cpp
index d70f5f7cd91..fde210a625b 100644
--- a/cpp/test/Ice/defaultValue/AllTests.cpp
+++ b/cpp/test/Ice/defaultValue/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultValue/Client.cpp b/cpp/test/Ice/defaultValue/Client.cpp
index 7e0805399c6..d08b166c6e1 100644
--- a/cpp/test/Ice/defaultValue/Client.cpp
+++ b/cpp/test/Ice/defaultValue/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/defaultValue/Test.ice b/cpp/test/Ice/defaultValue/Test.ice
index 1862c936257..18b547c2f49 100644
--- a/cpp/test/Ice/defaultValue/Test.ice
+++ b/cpp/test/Ice/defaultValue/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/AllTests.cpp b/cpp/test/Ice/dispatcher/AllTests.cpp
index ae62ec16b69..e7c5d2ef2ee 100644
--- a/cpp/test/Ice/dispatcher/AllTests.cpp
+++ b/cpp/test/Ice/dispatcher/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Client.cpp b/cpp/test/Ice/dispatcher/Client.cpp
index 6bb5c265977..63bfa5d2a13 100644
--- a/cpp/test/Ice/dispatcher/Client.cpp
+++ b/cpp/test/Ice/dispatcher/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Collocated.cpp b/cpp/test/Ice/dispatcher/Collocated.cpp
index 6d91c93a3c4..a54f6cc1dc7 100644
--- a/cpp/test/Ice/dispatcher/Collocated.cpp
+++ b/cpp/test/Ice/dispatcher/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Dispatcher.cpp b/cpp/test/Ice/dispatcher/Dispatcher.cpp
index c725a9af4a1..37bdc2df246 100644
--- a/cpp/test/Ice/dispatcher/Dispatcher.cpp
+++ b/cpp/test/Ice/dispatcher/Dispatcher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Dispatcher.h b/cpp/test/Ice/dispatcher/Dispatcher.h
index b7818a63c4a..ab80e78fc7b 100644
--- a/cpp/test/Ice/dispatcher/Dispatcher.h
+++ b/cpp/test/Ice/dispatcher/Dispatcher.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Server.cpp b/cpp/test/Ice/dispatcher/Server.cpp
index fa8cf0a1323..dde2568b33e 100644
--- a/cpp/test/Ice/dispatcher/Server.cpp
+++ b/cpp/test/Ice/dispatcher/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/Test.ice b/cpp/test/Ice/dispatcher/Test.ice
index dc1d8587dde..674f4bb1c07 100644
--- a/cpp/test/Ice/dispatcher/Test.ice
+++ b/cpp/test/Ice/dispatcher/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/TestI.cpp b/cpp/test/Ice/dispatcher/TestI.cpp
index 7f4f6d458ea..72a34c9bd25 100644
--- a/cpp/test/Ice/dispatcher/TestI.cpp
+++ b/cpp/test/Ice/dispatcher/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/dispatcher/TestI.h b/cpp/test/Ice/dispatcher/TestI.h
index c3161218c92..3190a5dcba5 100644
--- a/cpp/test/Ice/dispatcher/TestI.h
+++ b/cpp/test/Ice/dispatcher/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/echo/BlobjectI.cpp b/cpp/test/Ice/echo/BlobjectI.cpp
index 984236d0f15..024b239ac4f 100644
--- a/cpp/test/Ice/echo/BlobjectI.cpp
+++ b/cpp/test/Ice/echo/BlobjectI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/echo/BlobjectI.h b/cpp/test/Ice/echo/BlobjectI.h
index 6f1956adf09..fe8091c8f88 100644
--- a/cpp/test/Ice/echo/BlobjectI.h
+++ b/cpp/test/Ice/echo/BlobjectI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/echo/Server.cpp b/cpp/test/Ice/echo/Server.cpp
index 0cb63da88a3..56cd9f534bf 100644
--- a/cpp/test/Ice/echo/Server.cpp
+++ b/cpp/test/Ice/echo/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/echo/Test.ice b/cpp/test/Ice/echo/Test.ice
index 7da536bfdd9..57f7e92da21 100644
--- a/cpp/test/Ice/echo/Test.ice
+++ b/cpp/test/Ice/echo/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/AllTests.cpp b/cpp/test/Ice/enums/AllTests.cpp
index 3c98aa896c4..d2916c92962 100644
--- a/cpp/test/Ice/enums/AllTests.cpp
+++ b/cpp/test/Ice/enums/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/Client.cpp b/cpp/test/Ice/enums/Client.cpp
index a349a0416c6..c4d0ae98781 100644
--- a/cpp/test/Ice/enums/Client.cpp
+++ b/cpp/test/Ice/enums/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/Server.cpp b/cpp/test/Ice/enums/Server.cpp
index f73bd41e86a..984d2b0329f 100644
--- a/cpp/test/Ice/enums/Server.cpp
+++ b/cpp/test/Ice/enums/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/Test.ice b/cpp/test/Ice/enums/Test.ice
index 1cf14d60782..9851ef668ce 100644
--- a/cpp/test/Ice/enums/Test.ice
+++ b/cpp/test/Ice/enums/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/TestI.cpp b/cpp/test/Ice/enums/TestI.cpp
index 24d0676b0d2..171e8d1dc7d 100644
--- a/cpp/test/Ice/enums/TestI.cpp
+++ b/cpp/test/Ice/enums/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/enums/TestI.h b/cpp/test/Ice/enums/TestI.h
index 51ea90e5eac..156ca33fd2d 100644
--- a/cpp/test/Ice/enums/TestI.h
+++ b/cpp/test/Ice/enums/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/AllTests.cpp b/cpp/test/Ice/exceptions/AllTests.cpp
index cb3d05277c0..7fb9c1a930a 100644
--- a/cpp/test/Ice/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/exceptions/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/Client.cpp b/cpp/test/Ice/exceptions/Client.cpp
index 2199ab31511..9992aaa17a4 100644
--- a/cpp/test/Ice/exceptions/Client.cpp
+++ b/cpp/test/Ice/exceptions/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/Collocated.cpp b/cpp/test/Ice/exceptions/Collocated.cpp
index 6a2e5ad8f2b..690285e1073 100644
--- a/cpp/test/Ice/exceptions/Collocated.cpp
+++ b/cpp/test/Ice/exceptions/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/ExceptionsI.cpp b/cpp/test/Ice/exceptions/ExceptionsI.cpp
index adaa9698330..c75f3ff089b 100644
--- a/cpp/test/Ice/exceptions/ExceptionsI.cpp
+++ b/cpp/test/Ice/exceptions/ExceptionsI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/Server.cpp b/cpp/test/Ice/exceptions/Server.cpp
index 51ad11f564f..b9540467038 100644
--- a/cpp/test/Ice/exceptions/Server.cpp
+++ b/cpp/test/Ice/exceptions/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/ServerAMD.cpp b/cpp/test/Ice/exceptions/ServerAMD.cpp
index c6d87272714..4d3c8a17304 100644
--- a/cpp/test/Ice/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/exceptions/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/Test.ice b/cpp/test/Ice/exceptions/Test.ice
index 6e52e44e34b..0d83efeac97 100644
--- a/cpp/test/Ice/exceptions/Test.ice
+++ b/cpp/test/Ice/exceptions/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/TestAMD.ice b/cpp/test/Ice/exceptions/TestAMD.ice
index 40876eeb788..726a2811d2f 100644
--- a/cpp/test/Ice/exceptions/TestAMD.ice
+++ b/cpp/test/Ice/exceptions/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/TestAMDI.cpp b/cpp/test/Ice/exceptions/TestAMDI.cpp
index 873494443cc..bcc6abf49b8 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/exceptions/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/TestAMDI.h b/cpp/test/Ice/exceptions/TestAMDI.h
index d3908090358..2a54c5926fe 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/exceptions/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/TestI.cpp b/cpp/test/Ice/exceptions/TestI.cpp
index 3e21b016c7e..4ec4bbc9645 100644
--- a/cpp/test/Ice/exceptions/TestI.cpp
+++ b/cpp/test/Ice/exceptions/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/exceptions/TestI.h b/cpp/test/Ice/exceptions/TestI.h
index 5386d5fc0ad..033fa5aa037 100644
--- a/cpp/test/Ice/exceptions/TestI.h
+++ b/cpp/test/Ice/exceptions/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/AllTests.cpp b/cpp/test/Ice/facets/AllTests.cpp
index fd3299dcd38..c58f7afdefe 100644
--- a/cpp/test/Ice/facets/AllTests.cpp
+++ b/cpp/test/Ice/facets/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/Client.cpp b/cpp/test/Ice/facets/Client.cpp
index 3ba9b478f1d..16681647c9b 100644
--- a/cpp/test/Ice/facets/Client.cpp
+++ b/cpp/test/Ice/facets/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/Collocated.cpp b/cpp/test/Ice/facets/Collocated.cpp
index f5c372212f1..165d9e12187 100644
--- a/cpp/test/Ice/facets/Collocated.cpp
+++ b/cpp/test/Ice/facets/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/Server.cpp b/cpp/test/Ice/facets/Server.cpp
index 12230ed64e4..d100d4184df 100644
--- a/cpp/test/Ice/facets/Server.cpp
+++ b/cpp/test/Ice/facets/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/Test.ice b/cpp/test/Ice/facets/Test.ice
index 62d52fe2381..95576fade19 100644
--- a/cpp/test/Ice/facets/Test.ice
+++ b/cpp/test/Ice/facets/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/TestI.cpp b/cpp/test/Ice/facets/TestI.cpp
index d25281ac466..600b4660093 100644
--- a/cpp/test/Ice/facets/TestI.cpp
+++ b/cpp/test/Ice/facets/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/facets/TestI.h b/cpp/test/Ice/facets/TestI.h
index 8e5718ee9b3..c093fa9d8f3 100644
--- a/cpp/test/Ice/facets/TestI.h
+++ b/cpp/test/Ice/facets/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/AllTests.cpp b/cpp/test/Ice/faultTolerance/AllTests.cpp
index 2bb1fbd862b..8fa1db00a3d 100644
--- a/cpp/test/Ice/faultTolerance/AllTests.cpp
+++ b/cpp/test/Ice/faultTolerance/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/Client.cpp b/cpp/test/Ice/faultTolerance/Client.cpp
index ef39a9be5b6..a9dbf3f662d 100644
--- a/cpp/test/Ice/faultTolerance/Client.cpp
+++ b/cpp/test/Ice/faultTolerance/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/Server.cpp b/cpp/test/Ice/faultTolerance/Server.cpp
index 9a6b0e63e75..6b439b3ba7d 100644
--- a/cpp/test/Ice/faultTolerance/Server.cpp
+++ b/cpp/test/Ice/faultTolerance/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/Test.ice b/cpp/test/Ice/faultTolerance/Test.ice
index e2f2edcf1aa..2eb092e5203 100644
--- a/cpp/test/Ice/faultTolerance/Test.ice
+++ b/cpp/test/Ice/faultTolerance/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/TestI.cpp b/cpp/test/Ice/faultTolerance/TestI.cpp
index 0b415e503d3..c3e47a8732a 100644
--- a/cpp/test/Ice/faultTolerance/TestI.cpp
+++ b/cpp/test/Ice/faultTolerance/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/faultTolerance/TestI.h b/cpp/test/Ice/faultTolerance/TestI.h
index caf75c7caf0..7ea1e1fa10b 100644
--- a/cpp/test/Ice/faultTolerance/TestI.h
+++ b/cpp/test/Ice/faultTolerance/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/gc/Client.cpp b/cpp/test/Ice/gc/Client.cpp
index 2404021d198..f56880aa350 100644
--- a/cpp/test/Ice/gc/Client.cpp
+++ b/cpp/test/Ice/gc/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/gc/Test.ice b/cpp/test/Ice/gc/Test.ice
index b6bab2adf8a..6d2c0c2c9cf 100644
--- a/cpp/test/Ice/gc/Test.ice
+++ b/cpp/test/Ice/gc/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hash/Client.cpp b/cpp/test/Ice/hash/Client.cpp
index 03d7b818126..960417bb78b 100644
--- a/cpp/test/Ice/hash/Client.cpp
+++ b/cpp/test/Ice/hash/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hash/Test.ice b/cpp/test/Ice/hash/Test.ice
index 2c0ff42c33e..876998c2a6f 100644
--- a/cpp/test/Ice/hash/Test.ice
+++ b/cpp/test/Ice/hash/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/AllTests.cpp b/cpp/test/Ice/hold/AllTests.cpp
index 72275674797..73bb2531606 100644
--- a/cpp/test/Ice/hold/AllTests.cpp
+++ b/cpp/test/Ice/hold/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/Client.cpp b/cpp/test/Ice/hold/Client.cpp
index b14ee56c601..dfada92dc72 100644
--- a/cpp/test/Ice/hold/Client.cpp
+++ b/cpp/test/Ice/hold/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/Server.cpp b/cpp/test/Ice/hold/Server.cpp
index 3ed04c280ac..c5d396eec74 100644
--- a/cpp/test/Ice/hold/Server.cpp
+++ b/cpp/test/Ice/hold/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/Test.ice b/cpp/test/Ice/hold/Test.ice
index 78dc942c8cd..3d18b9e1631 100644
--- a/cpp/test/Ice/hold/Test.ice
+++ b/cpp/test/Ice/hold/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/TestI.cpp b/cpp/test/Ice/hold/TestI.cpp
index 317bb0b0e20..42cffabac34 100644
--- a/cpp/test/Ice/hold/TestI.cpp
+++ b/cpp/test/Ice/hold/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/hold/TestI.h b/cpp/test/Ice/hold/TestI.h
index e2a5061b64c..2d2714c626d 100644
--- a/cpp/test/Ice/hold/TestI.h
+++ b/cpp/test/Ice/hold/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/AllTests.cpp b/cpp/test/Ice/info/AllTests.cpp
index 9a21a3a01b6..7e8f97750b1 100644
--- a/cpp/test/Ice/info/AllTests.cpp
+++ b/cpp/test/Ice/info/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/Client.cpp b/cpp/test/Ice/info/Client.cpp
index 2029090b95f..78198e81a73 100644
--- a/cpp/test/Ice/info/Client.cpp
+++ b/cpp/test/Ice/info/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/Server.cpp b/cpp/test/Ice/info/Server.cpp
index 78765c87b94..1c8c1f71cb2 100644
--- a/cpp/test/Ice/info/Server.cpp
+++ b/cpp/test/Ice/info/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/Test.ice b/cpp/test/Ice/info/Test.ice
index 646f18941c3..c518d54b867 100644
--- a/cpp/test/Ice/info/Test.ice
+++ b/cpp/test/Ice/info/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/TestI.cpp b/cpp/test/Ice/info/TestI.cpp
index 06e17ab89a1..a3e5a400fcb 100644
--- a/cpp/test/Ice/info/TestI.cpp
+++ b/cpp/test/Ice/info/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/info/TestI.h b/cpp/test/Ice/info/TestI.h
index 94a63eaf9fe..9edb1e7c08a 100644
--- a/cpp/test/Ice/info/TestI.h
+++ b/cpp/test/Ice/info/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/AllTests.cpp b/cpp/test/Ice/inheritance/AllTests.cpp
index 6fc955d7eb8..a1c61b6303d 100644
--- a/cpp/test/Ice/inheritance/AllTests.cpp
+++ b/cpp/test/Ice/inheritance/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/Client.cpp b/cpp/test/Ice/inheritance/Client.cpp
index 49be4b95431..65fc7e17ce3 100644
--- a/cpp/test/Ice/inheritance/Client.cpp
+++ b/cpp/test/Ice/inheritance/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/Collocated.cpp b/cpp/test/Ice/inheritance/Collocated.cpp
index 13bd1b564d6..d0f4137ef74 100644
--- a/cpp/test/Ice/inheritance/Collocated.cpp
+++ b/cpp/test/Ice/inheritance/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/Server.cpp b/cpp/test/Ice/inheritance/Server.cpp
index 69c5a2ba868..e15885c1663 100644
--- a/cpp/test/Ice/inheritance/Server.cpp
+++ b/cpp/test/Ice/inheritance/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/Test.ice b/cpp/test/Ice/inheritance/Test.ice
index 39139a9d7c9..1e318b67132 100644
--- a/cpp/test/Ice/inheritance/Test.ice
+++ b/cpp/test/Ice/inheritance/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/TestI.cpp b/cpp/test/Ice/inheritance/TestI.cpp
index b3573714cb8..8e75b34b03a 100644
--- a/cpp/test/Ice/inheritance/TestI.cpp
+++ b/cpp/test/Ice/inheritance/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/inheritance/TestI.h b/cpp/test/Ice/inheritance/TestI.h
index e4498b10e24..3bbd7270746 100644
--- a/cpp/test/Ice/inheritance/TestI.h
+++ b/cpp/test/Ice/inheritance/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp b/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
index 7e546344602..cfd3490288c 100644
--- a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/AMDInterceptorI.h b/cpp/test/Ice/interceptor/AMDInterceptorI.h
index e98bb86e6d0..324bd97697b 100644
--- a/cpp/test/Ice/interceptor/AMDInterceptorI.h
+++ b/cpp/test/Ice/interceptor/AMDInterceptorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/Client.cpp b/cpp/test/Ice/interceptor/Client.cpp
index b7c070776ba..b414c8735b5 100644
--- a/cpp/test/Ice/interceptor/Client.cpp
+++ b/cpp/test/Ice/interceptor/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/InterceptorI.cpp b/cpp/test/Ice/interceptor/InterceptorI.cpp
index 76a2655f0f8..373848d68ae 100644
--- a/cpp/test/Ice/interceptor/InterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/InterceptorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/InterceptorI.h b/cpp/test/Ice/interceptor/InterceptorI.h
index 4c2c3ff7ebf..408f1dd8790 100644
--- a/cpp/test/Ice/interceptor/InterceptorI.h
+++ b/cpp/test/Ice/interceptor/InterceptorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/MyObjectI.cpp b/cpp/test/Ice/interceptor/MyObjectI.cpp
index f3879f9be2b..a452568dbcb 100644
--- a/cpp/test/Ice/interceptor/MyObjectI.cpp
+++ b/cpp/test/Ice/interceptor/MyObjectI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/MyObjectI.h b/cpp/test/Ice/interceptor/MyObjectI.h
index d75af0fce3b..cd0b1e846c8 100644
--- a/cpp/test/Ice/interceptor/MyObjectI.h
+++ b/cpp/test/Ice/interceptor/MyObjectI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/Test.ice b/cpp/test/Ice/interceptor/Test.ice
index 74daeea5414..40e151551c8 100644
--- a/cpp/test/Ice/interceptor/Test.ice
+++ b/cpp/test/Ice/interceptor/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/interceptor/TestI.cpp b/cpp/test/Ice/interceptor/TestI.cpp
index d7a3a01ec38..1857100745e 100644
--- a/cpp/test/Ice/interceptor/TestI.cpp
+++ b/cpp/test/Ice/interceptor/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/AllTests.cpp b/cpp/test/Ice/invoke/AllTests.cpp
index ac7d34154e2..29f2eec1865 100644
--- a/cpp/test/Ice/invoke/AllTests.cpp
+++ b/cpp/test/Ice/invoke/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/BlobjectI.cpp b/cpp/test/Ice/invoke/BlobjectI.cpp
index 16e6ef02a4f..2f65a4f3621 100644
--- a/cpp/test/Ice/invoke/BlobjectI.cpp
+++ b/cpp/test/Ice/invoke/BlobjectI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/BlobjectI.h b/cpp/test/Ice/invoke/BlobjectI.h
index aeed860e009..c198f2059be 100644
--- a/cpp/test/Ice/invoke/BlobjectI.h
+++ b/cpp/test/Ice/invoke/BlobjectI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/Client.cpp b/cpp/test/Ice/invoke/Client.cpp
index fc9396328f1..a2b5d129fa3 100644
--- a/cpp/test/Ice/invoke/Client.cpp
+++ b/cpp/test/Ice/invoke/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/Server.cpp b/cpp/test/Ice/invoke/Server.cpp
index 5f2a8c9dda1..9f595db3f0c 100644
--- a/cpp/test/Ice/invoke/Server.cpp
+++ b/cpp/test/Ice/invoke/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/invoke/Test.ice b/cpp/test/Ice/invoke/Test.ice
index 5349b38ee5a..2636b194c1c 100644
--- a/cpp/test/Ice/invoke/Test.ice
+++ b/cpp/test/Ice/invoke/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/AllTests.cpp b/cpp/test/Ice/location/AllTests.cpp
index 5145a13a7e9..f97e1a37fbb 100644
--- a/cpp/test/Ice/location/AllTests.cpp
+++ b/cpp/test/Ice/location/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/Client.cpp b/cpp/test/Ice/location/Client.cpp
index cd586168359..757ec3df4b9 100644
--- a/cpp/test/Ice/location/Client.cpp
+++ b/cpp/test/Ice/location/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/Server.cpp b/cpp/test/Ice/location/Server.cpp
index 79c0a9abf0c..87047d2ecfd 100644
--- a/cpp/test/Ice/location/Server.cpp
+++ b/cpp/test/Ice/location/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/ServerLocator.cpp b/cpp/test/Ice/location/ServerLocator.cpp
index 99958c2326f..002c8104681 100644
--- a/cpp/test/Ice/location/ServerLocator.cpp
+++ b/cpp/test/Ice/location/ServerLocator.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/ServerLocator.h b/cpp/test/Ice/location/ServerLocator.h
index 85d0c545367..3314f7e0d6f 100644
--- a/cpp/test/Ice/location/ServerLocator.h
+++ b/cpp/test/Ice/location/ServerLocator.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/Test.ice b/cpp/test/Ice/location/Test.ice
index 93b85173e02..bd15cd23ef8 100644
--- a/cpp/test/Ice/location/Test.ice
+++ b/cpp/test/Ice/location/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/TestI.cpp b/cpp/test/Ice/location/TestI.cpp
index fb55391c3b0..5c3bff8f9a5 100644
--- a/cpp/test/Ice/location/TestI.cpp
+++ b/cpp/test/Ice/location/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/location/TestI.h b/cpp/test/Ice/location/TestI.h
index 6f9863e0dc0..8c6b065265c 100644
--- a/cpp/test/Ice/location/TestI.h
+++ b/cpp/test/Ice/location/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/logger/Client1.cpp b/cpp/test/Ice/logger/Client1.cpp
index a60a31b836d..27626ad22f7 100644
--- a/cpp/test/Ice/logger/Client1.cpp
+++ b/cpp/test/Ice/logger/Client1.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/logger/Client2.cpp b/cpp/test/Ice/logger/Client2.cpp
index 24255c71566..b5fb780436d 100644
--- a/cpp/test/Ice/logger/Client2.cpp
+++ b/cpp/test/Ice/logger/Client2.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/logger/Client3.cpp b/cpp/test/Ice/logger/Client3.cpp
index e5e0c2909ca..4985e2ebb30 100644
--- a/cpp/test/Ice/logger/Client3.cpp
+++ b/cpp/test/Ice/logger/Client3.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/logger/Client4.cpp b/cpp/test/Ice/logger/Client4.cpp
index bce810c457f..d2548bf4cda 100644
--- a/cpp/test/Ice/logger/Client4.cpp
+++ b/cpp/test/Ice/logger/Client4.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/logger/Client5.cpp b/cpp/test/Ice/logger/Client5.cpp
index b28dcf8dd94..01e9a39ec65 100644
--- a/cpp/test/Ice/logger/Client5.cpp
+++ b/cpp/test/Ice/logger/Client5.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/AllTests.cpp b/cpp/test/Ice/metrics/AllTests.cpp
index fbd29160cd4..2ed799067ee 100644
--- a/cpp/test/Ice/metrics/AllTests.cpp
+++ b/cpp/test/Ice/metrics/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/Client.cpp b/cpp/test/Ice/metrics/Client.cpp
index 0e2c3e95b95..435f5b0372f 100644
--- a/cpp/test/Ice/metrics/Client.cpp
+++ b/cpp/test/Ice/metrics/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/Collocated.cpp b/cpp/test/Ice/metrics/Collocated.cpp
index f79a4ca8d6e..37f6b1c141e 100644
--- a/cpp/test/Ice/metrics/Collocated.cpp
+++ b/cpp/test/Ice/metrics/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/InstrumentationI.h b/cpp/test/Ice/metrics/InstrumentationI.h
index 4e6c6d68015..b37e6bae714 100644
--- a/cpp/test/Ice/metrics/InstrumentationI.h
+++ b/cpp/test/Ice/metrics/InstrumentationI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/Server.cpp b/cpp/test/Ice/metrics/Server.cpp
index 970739640f8..32eb8fb6a55 100644
--- a/cpp/test/Ice/metrics/Server.cpp
+++ b/cpp/test/Ice/metrics/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/ServerAMD.cpp b/cpp/test/Ice/metrics/ServerAMD.cpp
index ec6e9fcbf38..9cca3fc6ef1 100644
--- a/cpp/test/Ice/metrics/ServerAMD.cpp
+++ b/cpp/test/Ice/metrics/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/Test.ice b/cpp/test/Ice/metrics/Test.ice
index b7532aafb23..45383f6b458 100644
--- a/cpp/test/Ice/metrics/Test.ice
+++ b/cpp/test/Ice/metrics/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/TestAMD.ice b/cpp/test/Ice/metrics/TestAMD.ice
index e1f035a5404..3b8f9b95fce 100644
--- a/cpp/test/Ice/metrics/TestAMD.ice
+++ b/cpp/test/Ice/metrics/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/TestAMDI.cpp b/cpp/test/Ice/metrics/TestAMDI.cpp
index 57ae9e1fb2e..bc1309c3bc2 100644
--- a/cpp/test/Ice/metrics/TestAMDI.cpp
+++ b/cpp/test/Ice/metrics/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/TestAMDI.h b/cpp/test/Ice/metrics/TestAMDI.h
index e0e9abcbbf4..7ca19b67846 100644
--- a/cpp/test/Ice/metrics/TestAMDI.h
+++ b/cpp/test/Ice/metrics/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/TestI.cpp b/cpp/test/Ice/metrics/TestI.cpp
index 4d6102c03e1..592efbeb91f 100644
--- a/cpp/test/Ice/metrics/TestI.cpp
+++ b/cpp/test/Ice/metrics/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/metrics/TestI.h b/cpp/test/Ice/metrics/TestI.h
index 4f8dfed7109..3c38c22a75a 100644
--- a/cpp/test/Ice/metrics/TestI.h
+++ b/cpp/test/Ice/metrics/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/networkProxy/AllTests.cpp b/cpp/test/Ice/networkProxy/AllTests.cpp
index 49cd8789232..f0e87cc4164 100644
--- a/cpp/test/Ice/networkProxy/AllTests.cpp
+++ b/cpp/test/Ice/networkProxy/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/networkProxy/Client.cpp b/cpp/test/Ice/networkProxy/Client.cpp
index d8b93814226..e27c4554810 100644
--- a/cpp/test/Ice/networkProxy/Client.cpp
+++ b/cpp/test/Ice/networkProxy/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/networkProxy/Server.cpp b/cpp/test/Ice/networkProxy/Server.cpp
index 02ca25d574b..6f5c140e402 100644
--- a/cpp/test/Ice/networkProxy/Server.cpp
+++ b/cpp/test/Ice/networkProxy/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/networkProxy/Test.ice b/cpp/test/Ice/networkProxy/Test.ice
index c9e4b1b45d9..efaa03d8366 100644
--- a/cpp/test/Ice/networkProxy/Test.ice
+++ b/cpp/test/Ice/networkProxy/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp
index 08308818f21..5e6ba0460b8 100644
--- a/cpp/test/Ice/objects/AllTests.cpp
+++ b/cpp/test/Ice/objects/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp
index ed0aa56fc3e..1e2ac9dec05 100644
--- a/cpp/test/Ice/objects/Client.cpp
+++ b/cpp/test/Ice/objects/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/Collocated.cpp b/cpp/test/Ice/objects/Collocated.cpp
index e0df2f04303..7ff6a479d05 100644
--- a/cpp/test/Ice/objects/Collocated.cpp
+++ b/cpp/test/Ice/objects/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/Derived.ice b/cpp/test/Ice/objects/Derived.ice
index be44e45cb29..e79fe47a6c8 100644
--- a/cpp/test/Ice/objects/Derived.ice
+++ b/cpp/test/Ice/objects/Derived.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/DerivedEx.ice b/cpp/test/Ice/objects/DerivedEx.ice
index 2eebb440c39..bf06cef1587 100644
--- a/cpp/test/Ice/objects/DerivedEx.ice
+++ b/cpp/test/Ice/objects/DerivedEx.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/Server.cpp b/cpp/test/Ice/objects/Server.cpp
index 8bffdbfdc00..8ddd26ebd83 100644
--- a/cpp/test/Ice/objects/Server.cpp
+++ b/cpp/test/Ice/objects/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/Test.ice b/cpp/test/Ice/objects/Test.ice
index 32183c734ba..134a1aa2ea5 100644
--- a/cpp/test/Ice/objects/Test.ice
+++ b/cpp/test/Ice/objects/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/TestI.cpp b/cpp/test/Ice/objects/TestI.cpp
index dd57dea7762..f17e1a7960d 100644
--- a/cpp/test/Ice/objects/TestI.cpp
+++ b/cpp/test/Ice/objects/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/TestI.h b/cpp/test/Ice/objects/TestI.h
index 5f61f3a583c..a7243ed95f6 100644
--- a/cpp/test/Ice/objects/TestI.h
+++ b/cpp/test/Ice/objects/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/objects/TestIntfI.cpp b/cpp/test/Ice/objects/TestIntfI.cpp
index 86e206e4b36..1cb246fbe6e 100644
--- a/cpp/test/Ice/objects/TestIntfI.cpp
+++ b/cpp/test/Ice/objects/TestIntfI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/AllTests.cpp b/cpp/test/Ice/operations/AllTests.cpp
index eab6ced9cf7..69c9785cc93 100644
--- a/cpp/test/Ice/operations/AllTests.cpp
+++ b/cpp/test/Ice/operations/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/BatchOneways.cpp b/cpp/test/Ice/operations/BatchOneways.cpp
index 2967a28e098..38cdca817de 100644
--- a/cpp/test/Ice/operations/BatchOneways.cpp
+++ b/cpp/test/Ice/operations/BatchOneways.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/BatchOnewaysAMI.cpp b/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
index 9fab4caae79..cf1771e2b64 100644
--- a/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
+++ b/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Client.cpp b/cpp/test/Ice/operations/Client.cpp
index d2f81a6b117..3495cca85a7 100644
--- a/cpp/test/Ice/operations/Client.cpp
+++ b/cpp/test/Ice/operations/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Collocated.cpp b/cpp/test/Ice/operations/Collocated.cpp
index 3cff4ccfb74..3bb24a061f8 100644
--- a/cpp/test/Ice/operations/Collocated.cpp
+++ b/cpp/test/Ice/operations/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Oneways.cpp b/cpp/test/Ice/operations/Oneways.cpp
index 6a1e8abbd34..93cc134e1d2 100644
--- a/cpp/test/Ice/operations/Oneways.cpp
+++ b/cpp/test/Ice/operations/Oneways.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/OnewaysAMI.cpp b/cpp/test/Ice/operations/OnewaysAMI.cpp
index aee37aa8ee4..59864536c58 100644
--- a/cpp/test/Ice/operations/OnewaysAMI.cpp
+++ b/cpp/test/Ice/operations/OnewaysAMI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Server.cpp b/cpp/test/Ice/operations/Server.cpp
index e7082f75486..c78612ad4a8 100644
--- a/cpp/test/Ice/operations/Server.cpp
+++ b/cpp/test/Ice/operations/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/ServerAMD.cpp b/cpp/test/Ice/operations/ServerAMD.cpp
index 3b77a048c19..f9bc60d8237 100644
--- a/cpp/test/Ice/operations/ServerAMD.cpp
+++ b/cpp/test/Ice/operations/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Test.ice b/cpp/test/Ice/operations/Test.ice
index b8b1d40acc2..7d4bd24d547 100644
--- a/cpp/test/Ice/operations/Test.ice
+++ b/cpp/test/Ice/operations/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TestAMD.ice b/cpp/test/Ice/operations/TestAMD.ice
index 47d395fa025..780e2d18150 100644
--- a/cpp/test/Ice/operations/TestAMD.ice
+++ b/cpp/test/Ice/operations/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TestAMDI.cpp b/cpp/test/Ice/operations/TestAMDI.cpp
index 57eb91887de..f24f5b95fa0 100644
--- a/cpp/test/Ice/operations/TestAMDI.cpp
+++ b/cpp/test/Ice/operations/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TestAMDI.h b/cpp/test/Ice/operations/TestAMDI.h
index 011c800adde..7c934fb9cb8 100644
--- a/cpp/test/Ice/operations/TestAMDI.h
+++ b/cpp/test/Ice/operations/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TestI.cpp b/cpp/test/Ice/operations/TestI.cpp
index ba4c5c5654c..a5a67fceb83 100644
--- a/cpp/test/Ice/operations/TestI.cpp
+++ b/cpp/test/Ice/operations/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TestI.h b/cpp/test/Ice/operations/TestI.h
index f53606e8ffa..484ebc15c77 100644
--- a/cpp/test/Ice/operations/TestI.h
+++ b/cpp/test/Ice/operations/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/Twoways.cpp b/cpp/test/Ice/operations/Twoways.cpp
index f9e7ba152ca..00ed62e9c58 100644
--- a/cpp/test/Ice/operations/Twoways.cpp
+++ b/cpp/test/Ice/operations/Twoways.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/operations/TwowaysAMI.cpp b/cpp/test/Ice/operations/TwowaysAMI.cpp
index fbc1158d2e3..88b53469094 100644
--- a/cpp/test/Ice/operations/TwowaysAMI.cpp
+++ b/cpp/test/Ice/operations/TwowaysAMI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/AllTests.cpp b/cpp/test/Ice/optional/AllTests.cpp
index 996138a116e..2d37120a6de 100644
--- a/cpp/test/Ice/optional/AllTests.cpp
+++ b/cpp/test/Ice/optional/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/Client.cpp b/cpp/test/Ice/optional/Client.cpp
index 8f04df5447b..e68db26311c 100644
--- a/cpp/test/Ice/optional/Client.cpp
+++ b/cpp/test/Ice/optional/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/CustomMap.h b/cpp/test/Ice/optional/CustomMap.h
index 582dd82593a..d561f3307fe 100644
--- a/cpp/test/Ice/optional/CustomMap.h
+++ b/cpp/test/Ice/optional/CustomMap.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/Server.cpp b/cpp/test/Ice/optional/Server.cpp
index e88bad86026..0be0f7fb22f 100644
--- a/cpp/test/Ice/optional/Server.cpp
+++ b/cpp/test/Ice/optional/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/ServerAMD.cpp b/cpp/test/Ice/optional/ServerAMD.cpp
index 374e5b64844..edfa00128d9 100644
--- a/cpp/test/Ice/optional/ServerAMD.cpp
+++ b/cpp/test/Ice/optional/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/StringView.h b/cpp/test/Ice/optional/StringView.h
index 43e5bf74bb7..f970f642b0d 100644
--- a/cpp/test/Ice/optional/StringView.h
+++ b/cpp/test/Ice/optional/StringView.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/Test.ice b/cpp/test/Ice/optional/Test.ice
index 1cd8fa19869..ae88c7feed1 100644
--- a/cpp/test/Ice/optional/Test.ice
+++ b/cpp/test/Ice/optional/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/TestAMD.ice b/cpp/test/Ice/optional/TestAMD.ice
index e4c19cde393..4757f716e57 100644
--- a/cpp/test/Ice/optional/TestAMD.ice
+++ b/cpp/test/Ice/optional/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/TestAMDI.cpp b/cpp/test/Ice/optional/TestAMDI.cpp
index be47d85f394..b5ea8327227 100644
--- a/cpp/test/Ice/optional/TestAMDI.cpp
+++ b/cpp/test/Ice/optional/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/TestAMDI.h b/cpp/test/Ice/optional/TestAMDI.h
index 64793f42d17..941b4075996 100644
--- a/cpp/test/Ice/optional/TestAMDI.h
+++ b/cpp/test/Ice/optional/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/TestI.cpp b/cpp/test/Ice/optional/TestI.cpp
index 46f76291366..b5350709b14 100644
--- a/cpp/test/Ice/optional/TestI.cpp
+++ b/cpp/test/Ice/optional/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/optional/TestI.h b/cpp/test/Ice/optional/TestI.h
index 38050948cf9..5a0d4b187f0 100644
--- a/cpp/test/Ice/optional/TestI.h
+++ b/cpp/test/Ice/optional/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/plugin/Client.cpp b/cpp/test/Ice/plugin/Client.cpp
index 69277632d4c..afc48d43b47 100644
--- a/cpp/test/Ice/plugin/Client.cpp
+++ b/cpp/test/Ice/plugin/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/plugin/Plugin.cpp b/cpp/test/Ice/plugin/Plugin.cpp
index 3c4d34a4bc8..35848649b71 100644
--- a/cpp/test/Ice/plugin/Plugin.cpp
+++ b/cpp/test/Ice/plugin/Plugin.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/properties/Client.cpp b/cpp/test/Ice/properties/Client.cpp
index 3c4c59d2e61..97027f59d41 100644
--- a/cpp/test/Ice/properties/Client.cpp
+++ b/cpp/test/Ice/properties/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp
index 0d9bf825474..d3785ad6eef 100644
--- a/cpp/test/Ice/proxy/AllTests.cpp
+++ b/cpp/test/Ice/proxy/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/Client.cpp b/cpp/test/Ice/proxy/Client.cpp
index 292eb49051c..20b74f58f9a 100644
--- a/cpp/test/Ice/proxy/Client.cpp
+++ b/cpp/test/Ice/proxy/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/Collocated.cpp b/cpp/test/Ice/proxy/Collocated.cpp
index 4979865f18b..8ae84762ac3 100644
--- a/cpp/test/Ice/proxy/Collocated.cpp
+++ b/cpp/test/Ice/proxy/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/Server.cpp b/cpp/test/Ice/proxy/Server.cpp
index 793fb95f7a6..bc2fdb69340 100644
--- a/cpp/test/Ice/proxy/Server.cpp
+++ b/cpp/test/Ice/proxy/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/ServerAMD.cpp b/cpp/test/Ice/proxy/ServerAMD.cpp
index ee5d4556be9..69d7283f725 100644
--- a/cpp/test/Ice/proxy/ServerAMD.cpp
+++ b/cpp/test/Ice/proxy/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/Test.ice b/cpp/test/Ice/proxy/Test.ice
index 46912931594..f98d7dbcb3d 100644
--- a/cpp/test/Ice/proxy/Test.ice
+++ b/cpp/test/Ice/proxy/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/TestAMD.ice b/cpp/test/Ice/proxy/TestAMD.ice
index 4c5e5afa003..d0312f701b1 100644
--- a/cpp/test/Ice/proxy/TestAMD.ice
+++ b/cpp/test/Ice/proxy/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/TestAMDI.cpp b/cpp/test/Ice/proxy/TestAMDI.cpp
index 9def18d0610..9d0fea1fafc 100644
--- a/cpp/test/Ice/proxy/TestAMDI.cpp
+++ b/cpp/test/Ice/proxy/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/TestAMDI.h b/cpp/test/Ice/proxy/TestAMDI.h
index 5a558c120a5..e1b7f6d72a1 100644
--- a/cpp/test/Ice/proxy/TestAMDI.h
+++ b/cpp/test/Ice/proxy/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/TestI.cpp b/cpp/test/Ice/proxy/TestI.cpp
index afc666b0ef7..82b26229d1a 100644
--- a/cpp/test/Ice/proxy/TestI.cpp
+++ b/cpp/test/Ice/proxy/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/proxy/TestI.h b/cpp/test/Ice/proxy/TestI.h
index eb2a5a557bd..14392b7ed97 100644
--- a/cpp/test/Ice/proxy/TestI.h
+++ b/cpp/test/Ice/proxy/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/AllTests.cpp b/cpp/test/Ice/retry/AllTests.cpp
index 27283363481..07f7e3cb4e2 100644
--- a/cpp/test/Ice/retry/AllTests.cpp
+++ b/cpp/test/Ice/retry/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/Client.cpp b/cpp/test/Ice/retry/Client.cpp
index 082d50c3290..14533937a2a 100644
--- a/cpp/test/Ice/retry/Client.cpp
+++ b/cpp/test/Ice/retry/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/Collocated.cpp b/cpp/test/Ice/retry/Collocated.cpp
index 8802c73bf0f..5281ccef5a0 100644
--- a/cpp/test/Ice/retry/Collocated.cpp
+++ b/cpp/test/Ice/retry/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/InstrumentationI.cpp b/cpp/test/Ice/retry/InstrumentationI.cpp
index 7ab7ad9cfcf..17a54e8c3ba 100644
--- a/cpp/test/Ice/retry/InstrumentationI.cpp
+++ b/cpp/test/Ice/retry/InstrumentationI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/InstrumentationI.h b/cpp/test/Ice/retry/InstrumentationI.h
index 647e23b231c..ff67eaaa93d 100644
--- a/cpp/test/Ice/retry/InstrumentationI.h
+++ b/cpp/test/Ice/retry/InstrumentationI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/Server.cpp b/cpp/test/Ice/retry/Server.cpp
index ae448e377a7..acad4562f2d 100644
--- a/cpp/test/Ice/retry/Server.cpp
+++ b/cpp/test/Ice/retry/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/SystemFailure.h b/cpp/test/Ice/retry/SystemFailure.h
index 01967bb85ec..2858e0c5aac 100644
--- a/cpp/test/Ice/retry/SystemFailure.h
+++ b/cpp/test/Ice/retry/SystemFailure.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/Test.ice b/cpp/test/Ice/retry/Test.ice
index acbf991a212..7df682dafca 100644
--- a/cpp/test/Ice/retry/Test.ice
+++ b/cpp/test/Ice/retry/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/TestI.cpp b/cpp/test/Ice/retry/TestI.cpp
index 1b35edb81cd..f9b7a80c24f 100644
--- a/cpp/test/Ice/retry/TestI.cpp
+++ b/cpp/test/Ice/retry/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/retry/TestI.h b/cpp/test/Ice/retry/TestI.h
index 23a3609b502..69be04bb21e 100644
--- a/cpp/test/Ice/retry/TestI.h
+++ b/cpp/test/Ice/retry/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/AllTests.cpp b/cpp/test/Ice/servantLocator/AllTests.cpp
index 18ec1b87d1a..65b1cdc8de1 100644
--- a/cpp/test/Ice/servantLocator/AllTests.cpp
+++ b/cpp/test/Ice/servantLocator/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/Client.cpp b/cpp/test/Ice/servantLocator/Client.cpp
index 337c5f922ea..8cca3bff451 100644
--- a/cpp/test/Ice/servantLocator/Client.cpp
+++ b/cpp/test/Ice/servantLocator/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/Collocated.cpp b/cpp/test/Ice/servantLocator/Collocated.cpp
index abc9c70b24d..85ceb41c206 100644
--- a/cpp/test/Ice/servantLocator/Collocated.cpp
+++ b/cpp/test/Ice/servantLocator/Collocated.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/ServantLocatorI.cpp b/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
index 63137a1552e..7ed57530b83 100644
--- a/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
+++ b/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/ServantLocatorI.h b/cpp/test/Ice/servantLocator/ServantLocatorI.h
index ffb0971dd91..75923ef97dd 100644
--- a/cpp/test/Ice/servantLocator/ServantLocatorI.h
+++ b/cpp/test/Ice/servantLocator/ServantLocatorI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/Server.cpp b/cpp/test/Ice/servantLocator/Server.cpp
index 5215bb762c0..2c9ff526093 100644
--- a/cpp/test/Ice/servantLocator/Server.cpp
+++ b/cpp/test/Ice/servantLocator/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/ServerAMD.cpp b/cpp/test/Ice/servantLocator/ServerAMD.cpp
index d2b3b82568d..e09f0990340 100644
--- a/cpp/test/Ice/servantLocator/ServerAMD.cpp
+++ b/cpp/test/Ice/servantLocator/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/Test.ice b/cpp/test/Ice/servantLocator/Test.ice
index e9e4d6588a5..74f594455c9 100644
--- a/cpp/test/Ice/servantLocator/Test.ice
+++ b/cpp/test/Ice/servantLocator/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/TestAMD.ice b/cpp/test/Ice/servantLocator/TestAMD.ice
index 99956b8e676..57ffc59e6a2 100644
--- a/cpp/test/Ice/servantLocator/TestAMD.ice
+++ b/cpp/test/Ice/servantLocator/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/TestAMDI.cpp b/cpp/test/Ice/servantLocator/TestAMDI.cpp
index 4db8d1a47ba..245acf3344b 100644
--- a/cpp/test/Ice/servantLocator/TestAMDI.cpp
+++ b/cpp/test/Ice/servantLocator/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/TestAMDI.h b/cpp/test/Ice/servantLocator/TestAMDI.h
index a6b75a1af2e..1055a583992 100644
--- a/cpp/test/Ice/servantLocator/TestAMDI.h
+++ b/cpp/test/Ice/servantLocator/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/TestI.cpp b/cpp/test/Ice/servantLocator/TestI.cpp
index be8f6a2f1d8..e43ebe45813 100644
--- a/cpp/test/Ice/servantLocator/TestI.cpp
+++ b/cpp/test/Ice/servantLocator/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/servantLocator/TestI.h b/cpp/test/Ice/servantLocator/TestI.h
index acc811b84a2..79aece4c4d8 100644
--- a/cpp/test/Ice/servantLocator/TestI.h
+++ b/cpp/test/Ice/servantLocator/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/services/AllTests.cpp b/cpp/test/Ice/services/AllTests.cpp
index 3696729a06b..380f705a5ee 100644
--- a/cpp/test/Ice/services/AllTests.cpp
+++ b/cpp/test/Ice/services/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/services/Client.cpp b/cpp/test/Ice/services/Client.cpp
index b54125cf926..9859eea81c6 100644
--- a/cpp/test/Ice/services/Client.cpp
+++ b/cpp/test/Ice/services/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/services/Test.ice b/cpp/test/Ice/services/Test.ice
index 818d6a3571d..c42f0dc0014 100644
--- a/cpp/test/Ice/services/Test.ice
+++ b/cpp/test/Ice/services/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/AllTests.cpp b/cpp/test/Ice/slicing/exceptions/AllTests.cpp
index b510a7f0c76..a19829b46b7 100644
--- a/cpp/test/Ice/slicing/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/slicing/exceptions/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/Client.cpp b/cpp/test/Ice/slicing/exceptions/Client.cpp
index 3ccf7e33d75..8b5aa86f296 100644
--- a/cpp/test/Ice/slicing/exceptions/Client.cpp
+++ b/cpp/test/Ice/slicing/exceptions/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/ClientPrivate.ice b/cpp/test/Ice/slicing/exceptions/ClientPrivate.ice
index 1d920bee217..47f9db97d22 100644
--- a/cpp/test/Ice/slicing/exceptions/ClientPrivate.ice
+++ b/cpp/test/Ice/slicing/exceptions/ClientPrivate.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/Server.cpp b/cpp/test/Ice/slicing/exceptions/Server.cpp
index c69fcfdb43e..b468e9cdbf0 100644
--- a/cpp/test/Ice/slicing/exceptions/Server.cpp
+++ b/cpp/test/Ice/slicing/exceptions/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp b/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
index 831bb423f9c..353e31a034e 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice b/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice
index edd09a69963..9c7d56ca391 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice
+++ b/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice b/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
index 5493dd451ed..dade40f59b9 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
+++ b/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/Test.ice b/cpp/test/Ice/slicing/exceptions/Test.ice
index c32e896e729..3ce6959161d 100644
--- a/cpp/test/Ice/slicing/exceptions/Test.ice
+++ b/cpp/test/Ice/slicing/exceptions/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/TestAMD.ice b/cpp/test/Ice/slicing/exceptions/TestAMD.ice
index 599a104ff9a..18a20b1e0ac 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMD.ice
+++ b/cpp/test/Ice/slicing/exceptions/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp b/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
index 16a50c8fd8c..d00a1bbf83c 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/TestAMDI.h b/cpp/test/Ice/slicing/exceptions/TestAMDI.h
index 64f05b40a65..51a3ad3991e 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/slicing/exceptions/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.cpp b/cpp/test/Ice/slicing/exceptions/TestI.cpp
index d911158fed4..5004b7eb9f4 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.h b/cpp/test/Ice/slicing/exceptions/TestI.h
index f447ffe7d91..2ce531e951e 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.h
+++ b/cpp/test/Ice/slicing/exceptions/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/AllTests.cpp b/cpp/test/Ice/slicing/objects/AllTests.cpp
index c24f1ca3013..b048c8129d4 100644
--- a/cpp/test/Ice/slicing/objects/AllTests.cpp
+++ b/cpp/test/Ice/slicing/objects/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/Client.cpp b/cpp/test/Ice/slicing/objects/Client.cpp
index f908d625f4c..3a6ba21a1f0 100644
--- a/cpp/test/Ice/slicing/objects/Client.cpp
+++ b/cpp/test/Ice/slicing/objects/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/ClientPrivate.ice b/cpp/test/Ice/slicing/objects/ClientPrivate.ice
index 1d5c23f17e9..d8445516d19 100644
--- a/cpp/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/cpp/test/Ice/slicing/objects/ClientPrivate.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/Server.cpp b/cpp/test/Ice/slicing/objects/Server.cpp
index 50685cf1384..3b322b21a15 100644
--- a/cpp/test/Ice/slicing/objects/Server.cpp
+++ b/cpp/test/Ice/slicing/objects/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/ServerAMD.cpp b/cpp/test/Ice/slicing/objects/ServerAMD.cpp
index 92c679ec31b..61be2829d65 100644
--- a/cpp/test/Ice/slicing/objects/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/objects/ServerAMD.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/ServerPrivate.ice b/cpp/test/Ice/slicing/objects/ServerPrivate.ice
index ccf2b49dd2b..010e74801d8 100644
--- a/cpp/test/Ice/slicing/objects/ServerPrivate.ice
+++ b/cpp/test/Ice/slicing/objects/ServerPrivate.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice b/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice
index f1d67b4a549..118dc768839 100644
--- a/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice
+++ b/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/Test.ice b/cpp/test/Ice/slicing/objects/Test.ice
index a20bde62928..89f2780c352 100644
--- a/cpp/test/Ice/slicing/objects/Test.ice
+++ b/cpp/test/Ice/slicing/objects/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/TestAMD.ice b/cpp/test/Ice/slicing/objects/TestAMD.ice
index bb0949bf705..dc034da87ab 100644
--- a/cpp/test/Ice/slicing/objects/TestAMD.ice
+++ b/cpp/test/Ice/slicing/objects/TestAMD.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/TestAMDI.cpp b/cpp/test/Ice/slicing/objects/TestAMDI.cpp
index ab4c26734e2..46e8fa39ddc 100644
--- a/cpp/test/Ice/slicing/objects/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestAMDI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/TestAMDI.h b/cpp/test/Ice/slicing/objects/TestAMDI.h
index fc8505fb36e..ad9137a571a 100644
--- a/cpp/test/Ice/slicing/objects/TestAMDI.h
+++ b/cpp/test/Ice/slicing/objects/TestAMDI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/TestI.cpp b/cpp/test/Ice/slicing/objects/TestI.cpp
index d3a654139c6..79d8d287782 100644
--- a/cpp/test/Ice/slicing/objects/TestI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/slicing/objects/TestI.h b/cpp/test/Ice/slicing/objects/TestI.h
index 5d6eb96daac..dafe417c889 100644
--- a/cpp/test/Ice/slicing/objects/TestI.h
+++ b/cpp/test/Ice/slicing/objects/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/stream/Client.cpp b/cpp/test/Ice/stream/Client.cpp
index 17e9d7ab6e6..3872d1858c9 100644
--- a/cpp/test/Ice/stream/Client.cpp
+++ b/cpp/test/Ice/stream/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/stream/Test.ice b/cpp/test/Ice/stream/Test.ice
index 0e55673d63c..91183361811 100644
--- a/cpp/test/Ice/stream/Test.ice
+++ b/cpp/test/Ice/stream/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/stringConverter/Client.cpp b/cpp/test/Ice/stringConverter/Client.cpp
index f4e0101897e..10bc539c28b 100644
--- a/cpp/test/Ice/stringConverter/Client.cpp
+++ b/cpp/test/Ice/stringConverter/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/stringConverter/Server.cpp b/cpp/test/Ice/stringConverter/Server.cpp
index 95db086e3a5..849848c95c1 100644
--- a/cpp/test/Ice/stringConverter/Server.cpp
+++ b/cpp/test/Ice/stringConverter/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/stringConverter/Test.ice b/cpp/test/Ice/stringConverter/Test.ice
index 35703b7ac9e..1c5f142707d 100644
--- a/cpp/test/Ice/stringConverter/Test.ice
+++ b/cpp/test/Ice/stringConverter/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/AllTests.cpp b/cpp/test/Ice/threadPoolPriority/AllTests.cpp
index d6b1acc9f4e..b5394fa9661 100644
--- a/cpp/test/Ice/threadPoolPriority/AllTests.cpp
+++ b/cpp/test/Ice/threadPoolPriority/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/Client.cpp b/cpp/test/Ice/threadPoolPriority/Client.cpp
index 746a44c9426..b4877910eaf 100644
--- a/cpp/test/Ice/threadPoolPriority/Client.cpp
+++ b/cpp/test/Ice/threadPoolPriority/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/Server.cpp b/cpp/test/Ice/threadPoolPriority/Server.cpp
index 726552c55db..d56b04b567e 100644
--- a/cpp/test/Ice/threadPoolPriority/Server.cpp
+++ b/cpp/test/Ice/threadPoolPriority/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp b/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
index c2ad85d7578..2e20f3bf39f 100644
--- a/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
+++ b/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/Test.ice b/cpp/test/Ice/threadPoolPriority/Test.ice
index 95623f1c395..1f0d830a9c9 100644
--- a/cpp/test/Ice/threadPoolPriority/Test.ice
+++ b/cpp/test/Ice/threadPoolPriority/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/TestI.cpp b/cpp/test/Ice/threadPoolPriority/TestI.cpp
index 73fefead62d..a94105929ab 100644
--- a/cpp/test/Ice/threadPoolPriority/TestI.cpp
+++ b/cpp/test/Ice/threadPoolPriority/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/threadPoolPriority/TestI.h b/cpp/test/Ice/threadPoolPriority/TestI.h
index 6667ffb6300..af95b818b99 100644
--- a/cpp/test/Ice/threadPoolPriority/TestI.h
+++ b/cpp/test/Ice/threadPoolPriority/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/AllTests.cpp b/cpp/test/Ice/timeout/AllTests.cpp
index 3ce32a52b99..b16b5606979 100644
--- a/cpp/test/Ice/timeout/AllTests.cpp
+++ b/cpp/test/Ice/timeout/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/Client.cpp b/cpp/test/Ice/timeout/Client.cpp
index 86325621840..6f7811219a3 100644
--- a/cpp/test/Ice/timeout/Client.cpp
+++ b/cpp/test/Ice/timeout/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/Server.cpp b/cpp/test/Ice/timeout/Server.cpp
index 67294383853..919dc31b8eb 100644
--- a/cpp/test/Ice/timeout/Server.cpp
+++ b/cpp/test/Ice/timeout/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/Test.ice b/cpp/test/Ice/timeout/Test.ice
index bd242ba4527..d34168a950a 100644
--- a/cpp/test/Ice/timeout/Test.ice
+++ b/cpp/test/Ice/timeout/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/TestI.cpp b/cpp/test/Ice/timeout/TestI.cpp
index a880dcc07be..01e95bea34c 100644
--- a/cpp/test/Ice/timeout/TestI.cpp
+++ b/cpp/test/Ice/timeout/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/timeout/TestI.h b/cpp/test/Ice/timeout/TestI.h
index 70aee9643df..737913beadb 100644
--- a/cpp/test/Ice/timeout/TestI.h
+++ b/cpp/test/Ice/timeout/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/AllTests.cpp b/cpp/test/Ice/udp/AllTests.cpp
index c02c0d4d5f4..431271cd3e7 100644
--- a/cpp/test/Ice/udp/AllTests.cpp
+++ b/cpp/test/Ice/udp/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/Client.cpp b/cpp/test/Ice/udp/Client.cpp
index 596f7adca6d..25ec449b96c 100644
--- a/cpp/test/Ice/udp/Client.cpp
+++ b/cpp/test/Ice/udp/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/Server.cpp b/cpp/test/Ice/udp/Server.cpp
index 0203728919a..a07b1f87f89 100644
--- a/cpp/test/Ice/udp/Server.cpp
+++ b/cpp/test/Ice/udp/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/Test.ice b/cpp/test/Ice/udp/Test.ice
index 6eaf7c317f2..997bf2fa9e4 100644
--- a/cpp/test/Ice/udp/Test.ice
+++ b/cpp/test/Ice/udp/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/TestI.cpp b/cpp/test/Ice/udp/TestI.cpp
index 23f7523ad2b..9e5dae3adc1 100644
--- a/cpp/test/Ice/udp/TestI.cpp
+++ b/cpp/test/Ice/udp/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Ice/udp/TestI.h b/cpp/test/Ice/udp/TestI.h
index 0304a203aa6..bcd0e6685f8 100644
--- a/cpp/test/Ice/udp/TestI.h
+++ b/cpp/test/Ice/udp/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/AllTests.cpp b/cpp/test/IceBox/admin/AllTests.cpp
index bc41129193a..bb84957ec5d 100644
--- a/cpp/test/IceBox/admin/AllTests.cpp
+++ b/cpp/test/IceBox/admin/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/Client.cpp b/cpp/test/IceBox/admin/Client.cpp
index 5d833403df4..abfadc9de1f 100644
--- a/cpp/test/IceBox/admin/Client.cpp
+++ b/cpp/test/IceBox/admin/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/Service.cpp b/cpp/test/IceBox/admin/Service.cpp
index 23c8740348a..5c18d228812 100644
--- a/cpp/test/IceBox/admin/Service.cpp
+++ b/cpp/test/IceBox/admin/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/Test.ice b/cpp/test/IceBox/admin/Test.ice
index f6dd81d6141..f0d93d24882 100644
--- a/cpp/test/IceBox/admin/Test.ice
+++ b/cpp/test/IceBox/admin/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/TestI.cpp b/cpp/test/IceBox/admin/TestI.cpp
index fce80576ba3..cdfd785c8ed 100644
--- a/cpp/test/IceBox/admin/TestI.cpp
+++ b/cpp/test/IceBox/admin/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/admin/TestI.h b/cpp/test/IceBox/admin/TestI.h
index 6dd850f0dbf..7d8d480f97c 100644
--- a/cpp/test/IceBox/admin/TestI.h
+++ b/cpp/test/IceBox/admin/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/AllTests.cpp b/cpp/test/IceBox/configuration/AllTests.cpp
index e17fd2fe0a3..9afd3c958f5 100644
--- a/cpp/test/IceBox/configuration/AllTests.cpp
+++ b/cpp/test/IceBox/configuration/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/Client.cpp b/cpp/test/IceBox/configuration/Client.cpp
index 5d833403df4..abfadc9de1f 100644
--- a/cpp/test/IceBox/configuration/Client.cpp
+++ b/cpp/test/IceBox/configuration/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/Service.cpp b/cpp/test/IceBox/configuration/Service.cpp
index 2d369d3ef2c..bc6689219b4 100644
--- a/cpp/test/IceBox/configuration/Service.cpp
+++ b/cpp/test/IceBox/configuration/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/Test.ice b/cpp/test/IceBox/configuration/Test.ice
index 8ff7f2a7399..e9a55bde40d 100644
--- a/cpp/test/IceBox/configuration/Test.ice
+++ b/cpp/test/IceBox/configuration/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/TestI.cpp b/cpp/test/IceBox/configuration/TestI.cpp
index 07b715ff077..9c75e24809b 100644
--- a/cpp/test/IceBox/configuration/TestI.cpp
+++ b/cpp/test/IceBox/configuration/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceBox/configuration/TestI.h b/cpp/test/IceBox/configuration/TestI.h
index 7bcf0e9d6e9..a23cc33e895 100644
--- a/cpp/test/IceBox/configuration/TestI.h
+++ b/cpp/test/IceBox/configuration/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/AllTests.cpp b/cpp/test/IceDiscovery/simple/AllTests.cpp
index 558207c8c4e..9cfe48b94ff 100644
--- a/cpp/test/IceDiscovery/simple/AllTests.cpp
+++ b/cpp/test/IceDiscovery/simple/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/Client.cpp b/cpp/test/IceDiscovery/simple/Client.cpp
index bf88403572f..e31835348fa 100644
--- a/cpp/test/IceDiscovery/simple/Client.cpp
+++ b/cpp/test/IceDiscovery/simple/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/Server.cpp b/cpp/test/IceDiscovery/simple/Server.cpp
index 862b47cc705..78bbb766e3d 100644
--- a/cpp/test/IceDiscovery/simple/Server.cpp
+++ b/cpp/test/IceDiscovery/simple/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/Test.ice b/cpp/test/IceDiscovery/simple/Test.ice
index 75e4a63be0f..1bce253ee70 100644
--- a/cpp/test/IceDiscovery/simple/Test.ice
+++ b/cpp/test/IceDiscovery/simple/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/TestI.cpp b/cpp/test/IceDiscovery/simple/TestI.cpp
index 108bc9f9c0e..a2895254b2e 100644
--- a/cpp/test/IceDiscovery/simple/TestI.cpp
+++ b/cpp/test/IceDiscovery/simple/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceDiscovery/simple/TestI.h b/cpp/test/IceDiscovery/simple/TestI.h
index 454c1186eec..836c540bcfd 100644
--- a/cpp/test/IceDiscovery/simple/TestI.h
+++ b/cpp/test/IceDiscovery/simple/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/AllTests.cpp b/cpp/test/IceGrid/activation/AllTests.cpp
index 9efc046806d..7c82922e5fa 100644
--- a/cpp/test/IceGrid/activation/AllTests.cpp
+++ b/cpp/test/IceGrid/activation/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/Client.cpp b/cpp/test/IceGrid/activation/Client.cpp
index 755ebb5d0df..0faa0f5db1c 100644
--- a/cpp/test/IceGrid/activation/Client.cpp
+++ b/cpp/test/IceGrid/activation/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/Server.cpp b/cpp/test/IceGrid/activation/Server.cpp
index e614fdaf02b..7ebef28942c 100644
--- a/cpp/test/IceGrid/activation/Server.cpp
+++ b/cpp/test/IceGrid/activation/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/Test.ice b/cpp/test/IceGrid/activation/Test.ice
index 350c951ec4b..4f6e26e6c5a 100644
--- a/cpp/test/IceGrid/activation/Test.ice
+++ b/cpp/test/IceGrid/activation/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/TestI.cpp b/cpp/test/IceGrid/activation/TestI.cpp
index 201005cc623..21be8a415ad 100644
--- a/cpp/test/IceGrid/activation/TestI.cpp
+++ b/cpp/test/IceGrid/activation/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/activation/TestI.h b/cpp/test/IceGrid/activation/TestI.h
index 6763481a843..7eda2827303 100644
--- a/cpp/test/IceGrid/activation/TestI.h
+++ b/cpp/test/IceGrid/activation/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/admin/Server.cpp b/cpp/test/IceGrid/admin/Server.cpp
index b6a43a3fe4d..5b8f4f1a926 100644
--- a/cpp/test/IceGrid/admin/Server.cpp
+++ b/cpp/test/IceGrid/admin/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/AllTests.cpp b/cpp/test/IceGrid/allocation/AllTests.cpp
index e0c0871c4d5..19a6d199a33 100644
--- a/cpp/test/IceGrid/allocation/AllTests.cpp
+++ b/cpp/test/IceGrid/allocation/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/Client.cpp b/cpp/test/IceGrid/allocation/Client.cpp
index 7b3907981be..6919751205c 100644
--- a/cpp/test/IceGrid/allocation/Client.cpp
+++ b/cpp/test/IceGrid/allocation/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp b/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp
index 54fe5be7c01..e554fb953ad 100644
--- a/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/Server.cpp b/cpp/test/IceGrid/allocation/Server.cpp
index 113ccaa4846..fac10beb125 100644
--- a/cpp/test/IceGrid/allocation/Server.cpp
+++ b/cpp/test/IceGrid/allocation/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/Test.ice b/cpp/test/IceGrid/allocation/Test.ice
index c281f63606f..3d58f60d3d1 100644
--- a/cpp/test/IceGrid/allocation/Test.ice
+++ b/cpp/test/IceGrid/allocation/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/TestI.cpp b/cpp/test/IceGrid/allocation/TestI.cpp
index 6836c923eba..9d0e39b1f9e 100644
--- a/cpp/test/IceGrid/allocation/TestI.cpp
+++ b/cpp/test/IceGrid/allocation/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/allocation/TestI.h b/cpp/test/IceGrid/allocation/TestI.h
index 29550f38056..e7ddff54d2f 100644
--- a/cpp/test/IceGrid/allocation/TestI.h
+++ b/cpp/test/IceGrid/allocation/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/AllTests.cpp b/cpp/test/IceGrid/deployer/AllTests.cpp
index 2743d90d259..d5b03791891 100644
--- a/cpp/test/IceGrid/deployer/AllTests.cpp
+++ b/cpp/test/IceGrid/deployer/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/Client.cpp b/cpp/test/IceGrid/deployer/Client.cpp
index f2b5e03a6a7..9687b2c1ae7 100644
--- a/cpp/test/IceGrid/deployer/Client.cpp
+++ b/cpp/test/IceGrid/deployer/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/Server.cpp b/cpp/test/IceGrid/deployer/Server.cpp
index 1e18105beb7..0178b862f6a 100644
--- a/cpp/test/IceGrid/deployer/Server.cpp
+++ b/cpp/test/IceGrid/deployer/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/Service.cpp b/cpp/test/IceGrid/deployer/Service.cpp
index c5905ea722e..0238667f646 100644
--- a/cpp/test/IceGrid/deployer/Service.cpp
+++ b/cpp/test/IceGrid/deployer/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/Test.ice b/cpp/test/IceGrid/deployer/Test.ice
index c281f63606f..3d58f60d3d1 100644
--- a/cpp/test/IceGrid/deployer/Test.ice
+++ b/cpp/test/IceGrid/deployer/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/TestI.cpp b/cpp/test/IceGrid/deployer/TestI.cpp
index 6836c923eba..9d0e39b1f9e 100644
--- a/cpp/test/IceGrid/deployer/TestI.cpp
+++ b/cpp/test/IceGrid/deployer/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/deployer/TestI.h b/cpp/test/IceGrid/deployer/TestI.h
index 29550f38056..e7ddff54d2f 100644
--- a/cpp/test/IceGrid/deployer/TestI.h
+++ b/cpp/test/IceGrid/deployer/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/AllTests.cpp b/cpp/test/IceGrid/distribution/AllTests.cpp
index 6ba6cbc4046..af483eaf410 100644
--- a/cpp/test/IceGrid/distribution/AllTests.cpp
+++ b/cpp/test/IceGrid/distribution/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/Client.cpp b/cpp/test/IceGrid/distribution/Client.cpp
index 7b3907981be..6919751205c 100644
--- a/cpp/test/IceGrid/distribution/Client.cpp
+++ b/cpp/test/IceGrid/distribution/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/Server.cpp b/cpp/test/IceGrid/distribution/Server.cpp
index c86e876bbf9..5a9ccff9dca 100644
--- a/cpp/test/IceGrid/distribution/Server.cpp
+++ b/cpp/test/IceGrid/distribution/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/Test.ice b/cpp/test/IceGrid/distribution/Test.ice
index d571f12469b..426f2784e70 100644
--- a/cpp/test/IceGrid/distribution/Test.ice
+++ b/cpp/test/IceGrid/distribution/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/TestI.cpp b/cpp/test/IceGrid/distribution/TestI.cpp
index c0109d8c4bd..6e56b23db95 100644
--- a/cpp/test/IceGrid/distribution/TestI.cpp
+++ b/cpp/test/IceGrid/distribution/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/distribution/TestI.h b/cpp/test/IceGrid/distribution/TestI.h
index 9ff07ce8950..4e1894c3e34 100644
--- a/cpp/test/IceGrid/distribution/TestI.h
+++ b/cpp/test/IceGrid/distribution/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
index 5fc6487f886..50c0f5b0b7e 100644
--- a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/Client.cpp b/cpp/test/IceGrid/noRestartUpdate/Client.cpp
index 7b3907981be..6919751205c 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Client.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/Server.cpp b/cpp/test/IceGrid/noRestartUpdate/Server.cpp
index ad1d3fa2ae9..d7f45eacc2b 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Server.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/Service.cpp b/cpp/test/IceGrid/noRestartUpdate/Service.cpp
index a07b62b74db..436e5d32165 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Service.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/Test.ice b/cpp/test/IceGrid/noRestartUpdate/Test.ice
index 9a927330848..058760cbce9 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Test.ice
+++ b/cpp/test/IceGrid/noRestartUpdate/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/TestI.cpp b/cpp/test/IceGrid/noRestartUpdate/TestI.cpp
index 392a3cdb682..cdec10f33f3 100644
--- a/cpp/test/IceGrid/noRestartUpdate/TestI.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/noRestartUpdate/TestI.h b/cpp/test/IceGrid/noRestartUpdate/TestI.h
index d1bda0771ac..d6c60733b1b 100644
--- a/cpp/test/IceGrid/noRestartUpdate/TestI.h
+++ b/cpp/test/IceGrid/noRestartUpdate/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/AllTests.cpp b/cpp/test/IceGrid/replicaGroup/AllTests.cpp
index 74046be4f50..64b5da082b1 100644
--- a/cpp/test/IceGrid/replicaGroup/AllTests.cpp
+++ b/cpp/test/IceGrid/replicaGroup/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/Client.cpp b/cpp/test/IceGrid/replicaGroup/Client.cpp
index f6220ff5ebc..60009c5fca8 100644
--- a/cpp/test/IceGrid/replicaGroup/Client.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp b/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
index a3bcc7ff1e3..332b60c5bc2 100644
--- a/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
+++ b/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/Server.cpp b/cpp/test/IceGrid/replicaGroup/Server.cpp
index 938c6ea3d11..4d44c2e2180 100644
--- a/cpp/test/IceGrid/replicaGroup/Server.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/Service.cpp b/cpp/test/IceGrid/replicaGroup/Service.cpp
index b87ab36faeb..6e0df00e346 100644
--- a/cpp/test/IceGrid/replicaGroup/Service.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Service.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/Test.ice b/cpp/test/IceGrid/replicaGroup/Test.ice
index deb7da0e597..06d37ea144d 100644
--- a/cpp/test/IceGrid/replicaGroup/Test.ice
+++ b/cpp/test/IceGrid/replicaGroup/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/TestI.cpp b/cpp/test/IceGrid/replicaGroup/TestI.cpp
index 9fd87a53a1f..61f5b0c7db1 100644
--- a/cpp/test/IceGrid/replicaGroup/TestI.cpp
+++ b/cpp/test/IceGrid/replicaGroup/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replicaGroup/TestI.h b/cpp/test/IceGrid/replicaGroup/TestI.h
index 1ed3b2c4347..5afdd14c368 100644
--- a/cpp/test/IceGrid/replicaGroup/TestI.h
+++ b/cpp/test/IceGrid/replicaGroup/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp
index 5cf96d7b8ea..856da52bb04 100644
--- a/cpp/test/IceGrid/replication/AllTests.cpp
+++ b/cpp/test/IceGrid/replication/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/Client.cpp b/cpp/test/IceGrid/replication/Client.cpp
index 423074550b2..1cf079c32e5 100644
--- a/cpp/test/IceGrid/replication/Client.cpp
+++ b/cpp/test/IceGrid/replication/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/Server.cpp b/cpp/test/IceGrid/replication/Server.cpp
index d4ade3c1c73..2000f5a5202 100644
--- a/cpp/test/IceGrid/replication/Server.cpp
+++ b/cpp/test/IceGrid/replication/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/Test.ice b/cpp/test/IceGrid/replication/Test.ice
index c3e271990a3..ff15a45c189 100644
--- a/cpp/test/IceGrid/replication/Test.ice
+++ b/cpp/test/IceGrid/replication/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/TestI.cpp b/cpp/test/IceGrid/replication/TestI.cpp
index 96c0b509ebf..c1c79d68a4e 100644
--- a/cpp/test/IceGrid/replication/TestI.cpp
+++ b/cpp/test/IceGrid/replication/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/replication/TestI.h b/cpp/test/IceGrid/replication/TestI.h
index c96b5ef7b29..65d381e505e 100644
--- a/cpp/test/IceGrid/replication/TestI.h
+++ b/cpp/test/IceGrid/replication/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp
index 5b9269b5c6b..e5561b31317 100644
--- a/cpp/test/IceGrid/session/AllTests.cpp
+++ b/cpp/test/IceGrid/session/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/session/Client.cpp b/cpp/test/IceGrid/session/Client.cpp
index 2a23b6ca700..041beb6a51f 100644
--- a/cpp/test/IceGrid/session/Client.cpp
+++ b/cpp/test/IceGrid/session/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/session/PermissionsVerifier.cpp b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
index c7c70a34007..2b71c5ae5f2 100644
--- a/cpp/test/IceGrid/session/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/session/Server.cpp b/cpp/test/IceGrid/session/Server.cpp
index e118744af53..61e40c78d9e 100644
--- a/cpp/test/IceGrid/session/Server.cpp
+++ b/cpp/test/IceGrid/session/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/session/Test.ice b/cpp/test/IceGrid/session/Test.ice
index ba2182b4a42..62dd20b477b 100644
--- a/cpp/test/IceGrid/session/Test.ice
+++ b/cpp/test/IceGrid/session/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/AllTests.cpp b/cpp/test/IceGrid/simple/AllTests.cpp
index fb230a0a4e2..67c4b41b1f5 100644
--- a/cpp/test/IceGrid/simple/AllTests.cpp
+++ b/cpp/test/IceGrid/simple/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/Client.cpp b/cpp/test/IceGrid/simple/Client.cpp
index 4d064e6688c..ada84343ff1 100644
--- a/cpp/test/IceGrid/simple/Client.cpp
+++ b/cpp/test/IceGrid/simple/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/Server.cpp b/cpp/test/IceGrid/simple/Server.cpp
index 1ba08e9b8af..da146eac0c1 100644
--- a/cpp/test/IceGrid/simple/Server.cpp
+++ b/cpp/test/IceGrid/simple/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/Test.ice b/cpp/test/IceGrid/simple/Test.ice
index c9e4b1b45d9..efaa03d8366 100644
--- a/cpp/test/IceGrid/simple/Test.ice
+++ b/cpp/test/IceGrid/simple/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/TestI.cpp b/cpp/test/IceGrid/simple/TestI.cpp
index 311fcb40ca5..bba67a747ad 100644
--- a/cpp/test/IceGrid/simple/TestI.cpp
+++ b/cpp/test/IceGrid/simple/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/simple/TestI.h b/cpp/test/IceGrid/simple/TestI.h
index 3b70c7f5bb7..36fe8785148 100644
--- a/cpp/test/IceGrid/simple/TestI.h
+++ b/cpp/test/IceGrid/simple/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp
index b018cc446af..3afaec65d73 100644
--- a/cpp/test/IceGrid/update/AllTests.cpp
+++ b/cpp/test/IceGrid/update/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/Client.cpp b/cpp/test/IceGrid/update/Client.cpp
index 7b3907981be..6919751205c 100644
--- a/cpp/test/IceGrid/update/Client.cpp
+++ b/cpp/test/IceGrid/update/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/Server.cpp b/cpp/test/IceGrid/update/Server.cpp
index c86e876bbf9..5a9ccff9dca 100644
--- a/cpp/test/IceGrid/update/Server.cpp
+++ b/cpp/test/IceGrid/update/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/Test.ice b/cpp/test/IceGrid/update/Test.ice
index 3df5147a265..7d6beb885cc 100644
--- a/cpp/test/IceGrid/update/Test.ice
+++ b/cpp/test/IceGrid/update/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/TestI.cpp b/cpp/test/IceGrid/update/TestI.cpp
index 6836c923eba..9d0e39b1f9e 100644
--- a/cpp/test/IceGrid/update/TestI.cpp
+++ b/cpp/test/IceGrid/update/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceGrid/update/TestI.h b/cpp/test/IceGrid/update/TestI.h
index 29550f38056..e7ddff54d2f 100644
--- a/cpp/test/IceGrid/update/TestI.h
+++ b/cpp/test/IceGrid/update/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/certs/makecerts.py b/cpp/test/IceSSL/certs/makecerts.py
index 58e1e9cbe88..265c4cf9c83 100755
--- a/cpp/test/IceSSL/certs/makecerts.py
+++ b/cpp/test/IceSSL/certs/makecerts.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2015-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2015-2017 ZeroC, Inc. All rights reserved.
#
# **********************************************************************
diff --git a/cpp/test/IceSSL/configuration/AllTests.cpp b/cpp/test/IceSSL/configuration/AllTests.cpp
index c776202b261..2b9310e4f18 100644
--- a/cpp/test/IceSSL/configuration/AllTests.cpp
+++ b/cpp/test/IceSSL/configuration/AllTests.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/configuration/Client.cpp b/cpp/test/IceSSL/configuration/Client.cpp
index c198faa0834..931e45955da 100644
--- a/cpp/test/IceSSL/configuration/Client.cpp
+++ b/cpp/test/IceSSL/configuration/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/configuration/Server.cpp b/cpp/test/IceSSL/configuration/Server.cpp
index 84cdb4f0f47..1de22640be0 100644
--- a/cpp/test/IceSSL/configuration/Server.cpp
+++ b/cpp/test/IceSSL/configuration/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/configuration/Test.ice b/cpp/test/IceSSL/configuration/Test.ice
index f742635d1a4..fbe20c252c0 100644
--- a/cpp/test/IceSSL/configuration/Test.ice
+++ b/cpp/test/IceSSL/configuration/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/configuration/TestI.cpp b/cpp/test/IceSSL/configuration/TestI.cpp
index dec6aea05e3..594510c3934 100644
--- a/cpp/test/IceSSL/configuration/TestI.cpp
+++ b/cpp/test/IceSSL/configuration/TestI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceSSL/configuration/TestI.h b/cpp/test/IceSSL/configuration/TestI.h
index b0f3eeeacbe..3c4b6089c4b 100644
--- a/cpp/test/IceSSL/configuration/TestI.h
+++ b/cpp/test/IceSSL/configuration/TestI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation/Event.ice b/cpp/test/IceStorm/federation/Event.ice
index e8747f1310c..ec5c71e1d37 100644
--- a/cpp/test/IceStorm/federation/Event.ice
+++ b/cpp/test/IceStorm/federation/Event.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation/Publisher.cpp b/cpp/test/IceStorm/federation/Publisher.cpp
index 3206b426091..810339039c5 100644
--- a/cpp/test/IceStorm/federation/Publisher.cpp
+++ b/cpp/test/IceStorm/federation/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation/Subscriber.cpp b/cpp/test/IceStorm/federation/Subscriber.cpp
index 22aa3393ae0..aa359d17e82 100644
--- a/cpp/test/IceStorm/federation/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation2/Event.ice b/cpp/test/IceStorm/federation2/Event.ice
index e8747f1310c..ec5c71e1d37 100644
--- a/cpp/test/IceStorm/federation2/Event.ice
+++ b/cpp/test/IceStorm/federation2/Event.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation2/Publisher.cpp b/cpp/test/IceStorm/federation2/Publisher.cpp
index 4e6c2f09f93..5934d81d739 100644
--- a/cpp/test/IceStorm/federation2/Publisher.cpp
+++ b/cpp/test/IceStorm/federation2/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/federation2/Subscriber.cpp b/cpp/test/IceStorm/federation2/Subscriber.cpp
index ef753880c27..27946111004 100644
--- a/cpp/test/IceStorm/federation2/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation2/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/rep1/Publisher.cpp b/cpp/test/IceStorm/rep1/Publisher.cpp
index d4607a3940c..9cfca347992 100644
--- a/cpp/test/IceStorm/rep1/Publisher.cpp
+++ b/cpp/test/IceStorm/rep1/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/rep1/Single.ice b/cpp/test/IceStorm/rep1/Single.ice
index a6f32ce4f42..2c675d51046 100644
--- a/cpp/test/IceStorm/rep1/Single.ice
+++ b/cpp/test/IceStorm/rep1/Single.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/rep1/Sub.cpp b/cpp/test/IceStorm/rep1/Sub.cpp
index ff37d271831..07273ee1caa 100644
--- a/cpp/test/IceStorm/rep1/Sub.cpp
+++ b/cpp/test/IceStorm/rep1/Sub.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/rep1/Subscriber.cpp b/cpp/test/IceStorm/rep1/Subscriber.cpp
index 12241ede92e..f201bc06b42 100644
--- a/cpp/test/IceStorm/rep1/Subscriber.cpp
+++ b/cpp/test/IceStorm/rep1/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repgrid/Client.cpp b/cpp/test/IceStorm/repgrid/Client.cpp
index 684eebd2001..749bf6975c8 100644
--- a/cpp/test/IceStorm/repgrid/Client.cpp
+++ b/cpp/test/IceStorm/repgrid/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repgrid/Single.ice b/cpp/test/IceStorm/repgrid/Single.ice
index a6f32ce4f42..2c675d51046 100644
--- a/cpp/test/IceStorm/repgrid/Single.ice
+++ b/cpp/test/IceStorm/repgrid/Single.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repgrid/application.xml b/cpp/test/IceStorm/repgrid/application.xml
index a6415bf4a3b..5d55f81a7d3 100644
--- a/cpp/test/IceStorm/repgrid/application.xml
+++ b/cpp/test/IceStorm/repgrid/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+ Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repstress/Control.cpp b/cpp/test/IceStorm/repstress/Control.cpp
index 9e893aaf168..06184165f3a 100644
--- a/cpp/test/IceStorm/repstress/Control.cpp
+++ b/cpp/test/IceStorm/repstress/Control.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repstress/Controller.ice b/cpp/test/IceStorm/repstress/Controller.ice
index 55003332154..9a3ca573d99 100644
--- a/cpp/test/IceStorm/repstress/Controller.ice
+++ b/cpp/test/IceStorm/repstress/Controller.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repstress/Publisher.cpp b/cpp/test/IceStorm/repstress/Publisher.cpp
index 44897685028..690afebb1e2 100644
--- a/cpp/test/IceStorm/repstress/Publisher.cpp
+++ b/cpp/test/IceStorm/repstress/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repstress/Single.ice b/cpp/test/IceStorm/repstress/Single.ice
index a6f32ce4f42..2c675d51046 100644
--- a/cpp/test/IceStorm/repstress/Single.ice
+++ b/cpp/test/IceStorm/repstress/Single.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/repstress/Subscriber.cpp b/cpp/test/IceStorm/repstress/Subscriber.cpp
index 359cbde53f2..aee68a6ed1a 100644
--- a/cpp/test/IceStorm/repstress/Subscriber.cpp
+++ b/cpp/test/IceStorm/repstress/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/single/Publisher.cpp b/cpp/test/IceStorm/single/Publisher.cpp
index 58a58b3e7fb..624829c2a05 100644
--- a/cpp/test/IceStorm/single/Publisher.cpp
+++ b/cpp/test/IceStorm/single/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/single/Single.ice b/cpp/test/IceStorm/single/Single.ice
index a6f32ce4f42..2c675d51046 100644
--- a/cpp/test/IceStorm/single/Single.ice
+++ b/cpp/test/IceStorm/single/Single.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/single/Subscriber.cpp b/cpp/test/IceStorm/single/Subscriber.cpp
index 802bd5d83c4..07068a99852 100644
--- a/cpp/test/IceStorm/single/Subscriber.cpp
+++ b/cpp/test/IceStorm/single/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/stress/Event.ice b/cpp/test/IceStorm/stress/Event.ice
index 78b3c1a27b4..8854f0eaa58 100644
--- a/cpp/test/IceStorm/stress/Event.ice
+++ b/cpp/test/IceStorm/stress/Event.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/stress/Publisher.cpp b/cpp/test/IceStorm/stress/Publisher.cpp
index 4bc82745653..4e888aafb89 100644
--- a/cpp/test/IceStorm/stress/Publisher.cpp
+++ b/cpp/test/IceStorm/stress/Publisher.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceStorm/stress/Subscriber.cpp b/cpp/test/IceStorm/stress/Subscriber.cpp
index 4a76a18e441..e05ebbea313 100644
--- a/cpp/test/IceStorm/stress/Subscriber.cpp
+++ b/cpp/test/IceStorm/stress/Subscriber.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/condvar/Match.cpp b/cpp/test/IceUtil/condvar/Match.cpp
index b77213bada8..74924910658 100644
--- a/cpp/test/IceUtil/condvar/Match.cpp
+++ b/cpp/test/IceUtil/condvar/Match.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/condvar/WorkQueue.cpp b/cpp/test/IceUtil/condvar/WorkQueue.cpp
index a458a120611..7ffc2aa630b 100644
--- a/cpp/test/IceUtil/condvar/WorkQueue.cpp
+++ b/cpp/test/IceUtil/condvar/WorkQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/ctrlCHandler/Client.cpp b/cpp/test/IceUtil/ctrlCHandler/Client.cpp
index 9ec971640b2..2eff49a6126 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Client.cpp
+++ b/cpp/test/IceUtil/ctrlCHandler/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/inputUtil/Client.cpp b/cpp/test/IceUtil/inputUtil/Client.cpp
index 13dd40f9897..c5a0227d063 100644
--- a/cpp/test/IceUtil/inputUtil/Client.cpp
+++ b/cpp/test/IceUtil/inputUtil/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/Client.cpp b/cpp/test/IceUtil/priority/Client.cpp
index 05fbed1b3b5..b31259ff6b6 100644
--- a/cpp/test/IceUtil/priority/Client.cpp
+++ b/cpp/test/IceUtil/priority/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/PriorityInversion.cpp b/cpp/test/IceUtil/priority/PriorityInversion.cpp
index 15aa02c7b10..5517d78707c 100644
--- a/cpp/test/IceUtil/priority/PriorityInversion.cpp
+++ b/cpp/test/IceUtil/priority/PriorityInversion.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/PriorityInversion.h b/cpp/test/IceUtil/priority/PriorityInversion.h
index 4a4142e30f1..258bade9686 100644
--- a/cpp/test/IceUtil/priority/PriorityInversion.h
+++ b/cpp/test/IceUtil/priority/PriorityInversion.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TestBase.cpp b/cpp/test/IceUtil/priority/TestBase.cpp
index 50aafbe49ec..e81f79e294d 100644
--- a/cpp/test/IceUtil/priority/TestBase.cpp
+++ b/cpp/test/IceUtil/priority/TestBase.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TestBase.h b/cpp/test/IceUtil/priority/TestBase.h
index 7f6bc3fc992..d5c61f296dd 100644
--- a/cpp/test/IceUtil/priority/TestBase.h
+++ b/cpp/test/IceUtil/priority/TestBase.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TestSuite.cpp b/cpp/test/IceUtil/priority/TestSuite.cpp
index 1749457eefc..16ee2f1d05f 100644
--- a/cpp/test/IceUtil/priority/TestSuite.cpp
+++ b/cpp/test/IceUtil/priority/TestSuite.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TestSuite.h b/cpp/test/IceUtil/priority/TestSuite.h
index e0cec1c7a2a..68bbfb9100d 100644
--- a/cpp/test/IceUtil/priority/TestSuite.h
+++ b/cpp/test/IceUtil/priority/TestSuite.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/ThreadPriority.cpp b/cpp/test/IceUtil/priority/ThreadPriority.cpp
index d5fbbadb673..8df4819cafc 100644
--- a/cpp/test/IceUtil/priority/ThreadPriority.cpp
+++ b/cpp/test/IceUtil/priority/ThreadPriority.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/ThreadPriority.h b/cpp/test/IceUtil/priority/ThreadPriority.h
index b24ad2436b0..386184a02a7 100644
--- a/cpp/test/IceUtil/priority/ThreadPriority.h
+++ b/cpp/test/IceUtil/priority/ThreadPriority.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TimerPriority.cpp b/cpp/test/IceUtil/priority/TimerPriority.cpp
index d409f079780..cc0b1c9f4ae 100644
--- a/cpp/test/IceUtil/priority/TimerPriority.cpp
+++ b/cpp/test/IceUtil/priority/TimerPriority.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/priority/TimerPriority.h b/cpp/test/IceUtil/priority/TimerPriority.h
index d3bdd11cc2f..a7f9513559f 100644
--- a/cpp/test/IceUtil/priority/TimerPriority.h
+++ b/cpp/test/IceUtil/priority/TimerPriority.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/sha1/Client.cpp b/cpp/test/IceUtil/sha1/Client.cpp
index e8cecbd6ee9..c73542e0e0c 100644
--- a/cpp/test/IceUtil/sha1/Client.cpp
+++ b/cpp/test/IceUtil/sha1/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/stacktrace/Client.cpp b/cpp/test/IceUtil/stacktrace/Client.cpp
index f7e7c84b652..677afdcc571 100644
--- a/cpp/test/IceUtil/stacktrace/Client.cpp
+++ b/cpp/test/IceUtil/stacktrace/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/AliveTest.cpp b/cpp/test/IceUtil/thread/AliveTest.cpp
index 211704fdd12..243714fa527 100644
--- a/cpp/test/IceUtil/thread/AliveTest.cpp
+++ b/cpp/test/IceUtil/thread/AliveTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/AliveTest.h b/cpp/test/IceUtil/thread/AliveTest.h
index d7167746728..bbc0e1483dc 100644
--- a/cpp/test/IceUtil/thread/AliveTest.h
+++ b/cpp/test/IceUtil/thread/AliveTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/Client.cpp b/cpp/test/IceUtil/thread/Client.cpp
index 5f08441c6f5..75796b4f411 100644
--- a/cpp/test/IceUtil/thread/Client.cpp
+++ b/cpp/test/IceUtil/thread/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/CountDownLatchTest.cpp b/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
index 1355ce14b08..32af5700bba 100644
--- a/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
+++ b/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/CountDownLatchTest.h b/cpp/test/IceUtil/thread/CountDownLatchTest.h
index c92765086c9..6a85ecb1b56 100644
--- a/cpp/test/IceUtil/thread/CountDownLatchTest.h
+++ b/cpp/test/IceUtil/thread/CountDownLatchTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/CreateTest.cpp b/cpp/test/IceUtil/thread/CreateTest.cpp
index 71d3eac61ab..8be0c3d46b0 100644
--- a/cpp/test/IceUtil/thread/CreateTest.cpp
+++ b/cpp/test/IceUtil/thread/CreateTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/CreateTest.h b/cpp/test/IceUtil/thread/CreateTest.h
index f4b7f58cf2c..bebb704e500 100644
--- a/cpp/test/IceUtil/thread/CreateTest.h
+++ b/cpp/test/IceUtil/thread/CreateTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MonitorMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
index ee5d717dbdf..0ff96dd405f 100644
--- a/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MonitorMutexTest.h b/cpp/test/IceUtil/thread/MonitorMutexTest.h
index 3bd54ba9362..597e78adfe5 100644
--- a/cpp/test/IceUtil/thread/MonitorMutexTest.h
+++ b/cpp/test/IceUtil/thread/MonitorMutexTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
index 3e815a70b47..37ac32d7995 100644
--- a/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MonitorRecMutexTest.h b/cpp/test/IceUtil/thread/MonitorRecMutexTest.h
index 9b4074a011f..41b05008e24 100644
--- a/cpp/test/IceUtil/thread/MonitorRecMutexTest.h
+++ b/cpp/test/IceUtil/thread/MonitorRecMutexTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MutexTest.cpp b/cpp/test/IceUtil/thread/MutexTest.cpp
index 190f230bc3e..0b493e38524 100644
--- a/cpp/test/IceUtil/thread/MutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MutexTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/MutexTest.h b/cpp/test/IceUtil/thread/MutexTest.h
index 70e9bde1ff9..8e08433d51c 100644
--- a/cpp/test/IceUtil/thread/MutexTest.h
+++ b/cpp/test/IceUtil/thread/MutexTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/RecMutexTest.cpp b/cpp/test/IceUtil/thread/RecMutexTest.cpp
index e79bba38793..d28a60074fd 100644
--- a/cpp/test/IceUtil/thread/RecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/RecMutexTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/RecMutexTest.h b/cpp/test/IceUtil/thread/RecMutexTest.h
index 12a3737aba5..ef348e07693 100644
--- a/cpp/test/IceUtil/thread/RecMutexTest.h
+++ b/cpp/test/IceUtil/thread/RecMutexTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/SleepTest.cpp b/cpp/test/IceUtil/thread/SleepTest.cpp
index 32491338e4f..e0bd8813420 100644
--- a/cpp/test/IceUtil/thread/SleepTest.cpp
+++ b/cpp/test/IceUtil/thread/SleepTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/SleepTest.h b/cpp/test/IceUtil/thread/SleepTest.h
index a37f9ff6e3e..0ac7867366d 100644
--- a/cpp/test/IceUtil/thread/SleepTest.h
+++ b/cpp/test/IceUtil/thread/SleepTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/StartTest.cpp b/cpp/test/IceUtil/thread/StartTest.cpp
index 4d8ee83bf46..47d72cf6753 100644
--- a/cpp/test/IceUtil/thread/StartTest.cpp
+++ b/cpp/test/IceUtil/thread/StartTest.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/StartTest.h b/cpp/test/IceUtil/thread/StartTest.h
index c1f34d0455c..ae7298cd09b 100644
--- a/cpp/test/IceUtil/thread/StartTest.h
+++ b/cpp/test/IceUtil/thread/StartTest.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/TestBase.cpp b/cpp/test/IceUtil/thread/TestBase.cpp
index 50aafbe49ec..e81f79e294d 100644
--- a/cpp/test/IceUtil/thread/TestBase.cpp
+++ b/cpp/test/IceUtil/thread/TestBase.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/TestBase.h b/cpp/test/IceUtil/thread/TestBase.h
index 7f6bc3fc992..d5c61f296dd 100644
--- a/cpp/test/IceUtil/thread/TestBase.h
+++ b/cpp/test/IceUtil/thread/TestBase.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/TestSuite.cpp b/cpp/test/IceUtil/thread/TestSuite.cpp
index 86bb902e280..39aaf5741b4 100644
--- a/cpp/test/IceUtil/thread/TestSuite.cpp
+++ b/cpp/test/IceUtil/thread/TestSuite.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/thread/TestSuite.h b/cpp/test/IceUtil/thread/TestSuite.h
index e0cec1c7a2a..68bbfb9100d 100644
--- a/cpp/test/IceUtil/thread/TestSuite.h
+++ b/cpp/test/IceUtil/thread/TestSuite.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp
index 34daa4dfab7..be2400d8f25 100644
--- a/cpp/test/IceUtil/timer/Client.cpp
+++ b/cpp/test/IceUtil/timer/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/unicode/Client.cpp b/cpp/test/IceUtil/unicode/Client.cpp
index 4e028ca1bd0..76d74fbe4b1 100644
--- a/cpp/test/IceUtil/unicode/Client.cpp
+++ b/cpp/test/IceUtil/unicode/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/IceUtil/uuid/Client.cpp b/cpp/test/IceUtil/uuid/Client.cpp
index 77edac9a784..411fc88e181 100644
--- a/cpp/test/IceUtil/uuid/Client.cpp
+++ b/cpp/test/IceUtil/uuid/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/CaseInsensitive.ice b/cpp/test/Slice/errorDetection/CaseInsensitive.ice
index bd1ec4ebf69..e8a68d19c3b 100644
--- a/cpp/test/Slice/errorDetection/CaseInsensitive.ice
+++ b/cpp/test/Slice/errorDetection/CaseInsensitive.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/ChangedMeaning.ice b/cpp/test/Slice/errorDetection/ChangedMeaning.ice
index 71406d0c04d..1b4432452ae 100644
--- a/cpp/test/Slice/errorDetection/ChangedMeaning.ice
+++ b/cpp/test/Slice/errorDetection/ChangedMeaning.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/ClassRedefinition.ice b/cpp/test/Slice/errorDetection/ClassRedefinition.ice
index 953b0f75cf2..31cb658dfcd 100644
--- a/cpp/test/Slice/errorDetection/ClassRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/ClassRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/ConstDef.ice b/cpp/test/Slice/errorDetection/ConstDef.ice
index 28c377b6837..d0932e3bb0f 100644
--- a/cpp/test/Slice/errorDetection/ConstDef.ice
+++ b/cpp/test/Slice/errorDetection/ConstDef.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice b/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice
index ee2d1039af5..0851e67d0af 100644
--- a/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DeclaratorMissing.ice b/cpp/test/Slice/errorDetection/DeclaratorMissing.ice
index 1c9b67a1370..0585e29f55a 100644
--- a/cpp/test/Slice/errorDetection/DeclaratorMissing.ice
+++ b/cpp/test/Slice/errorDetection/DeclaratorMissing.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DerivedRedefinition.ice b/cpp/test/Slice/errorDetection/DerivedRedefinition.ice
index 66436c62a80..ad7be074b6f 100644
--- a/cpp/test/Slice/errorDetection/DerivedRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DerivedRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice b/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice
index efe951dcfd6..ab46045b50f 100644
--- a/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice b/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice
index 70672447729..e58d74b61fe 100644
--- a/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice
+++ b/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DuplicateParameter.ice b/cpp/test/Slice/errorDetection/DuplicateParameter.ice
index 04eb8265c97..32d01beedc0 100644
--- a/cpp/test/Slice/errorDetection/DuplicateParameter.ice
+++ b/cpp/test/Slice/errorDetection/DuplicateParameter.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/DuplicateThrows.ice b/cpp/test/Slice/errorDetection/DuplicateThrows.ice
index b9ac2b47814..eb6d026c48a 100644
--- a/cpp/test/Slice/errorDetection/DuplicateThrows.ice
+++ b/cpp/test/Slice/errorDetection/DuplicateThrows.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/EnumEmpty.ice b/cpp/test/Slice/errorDetection/EnumEmpty.ice
index 474fa8a6937..4a341513644 100644
--- a/cpp/test/Slice/errorDetection/EnumEmpty.ice
+++ b/cpp/test/Slice/errorDetection/EnumEmpty.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/EnumRedefinition.ice b/cpp/test/Slice/errorDetection/EnumRedefinition.ice
index 49cb3db8985..29bac0f69e2 100644
--- a/cpp/test/Slice/errorDetection/EnumRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/EnumRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/EnumeratorDuplication.ice b/cpp/test/Slice/errorDetection/EnumeratorDuplication.ice
index 12cd993e96c..ee4452899c8 100644
--- a/cpp/test/Slice/errorDetection/EnumeratorDuplication.ice
+++ b/cpp/test/Slice/errorDetection/EnumeratorDuplication.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice b/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice
index ab991eaa747..5ba1c4634fd 100644
--- a/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/EnumeratorValues.ice b/cpp/test/Slice/errorDetection/EnumeratorValues.ice
index ba00ad11000..ffd315e4fd5 100644
--- a/cpp/test/Slice/errorDetection/EnumeratorValues.ice
+++ b/cpp/test/Slice/errorDetection/EnumeratorValues.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/ExceptionRedefinition.ice b/cpp/test/Slice/errorDetection/ExceptionRedefinition.ice
index 084ffccbf84..9896db1cbfa 100644
--- a/cpp/test/Slice/errorDetection/ExceptionRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/ExceptionRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IdentAsKeyword.ice b/cpp/test/Slice/errorDetection/IdentAsKeyword.ice
index 921c3509624..661a7adf080 100644
--- a/cpp/test/Slice/errorDetection/IdentAsKeyword.ice
+++ b/cpp/test/Slice/errorDetection/IdentAsKeyword.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IdentAsKeywordUnderscore.ice b/cpp/test/Slice/errorDetection/IdentAsKeywordUnderscore.ice
index c9f5c4c2f94..c91d4a49e93 100644
--- a/cpp/test/Slice/errorDetection/IdentAsKeywordUnderscore.ice
+++ b/cpp/test/Slice/errorDetection/IdentAsKeywordUnderscore.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalDeclaration.ice b/cpp/test/Slice/errorDetection/IllegalDeclaration.ice
index 4fedaa0991d..1b0d35b8869 100644
--- a/cpp/test/Slice/errorDetection/IllegalDeclaration.ice
+++ b/cpp/test/Slice/errorDetection/IllegalDeclaration.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalDictionary.ice b/cpp/test/Slice/errorDetection/IllegalDictionary.ice
index 6fdb87fc92b..120e7f36aee 100644
--- a/cpp/test/Slice/errorDetection/IllegalDictionary.ice
+++ b/cpp/test/Slice/errorDetection/IllegalDictionary.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalIdentifier.ice b/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
index 319f85d7a18..cd8c68f32eb 100644
--- a/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
+++ b/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalLocal.ice b/cpp/test/Slice/errorDetection/IllegalLocal.ice
index b3619e3cd94..e44ed1002b6 100644
--- a/cpp/test/Slice/errorDetection/IllegalLocal.ice
+++ b/cpp/test/Slice/errorDetection/IllegalLocal.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalMI.ice b/cpp/test/Slice/errorDetection/IllegalMI.ice
index 42467d93614..4607da96a3d 100644
--- a/cpp/test/Slice/errorDetection/IllegalMI.ice
+++ b/cpp/test/Slice/errorDetection/IllegalMI.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice b/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice
index eeaf2d92e69..a931dfd75b4 100644
--- a/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice
+++ b/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/InterfaceMismatch.ice b/cpp/test/Slice/errorDetection/InterfaceMismatch.ice
index 592e020abba..244eb660a88 100644
--- a/cpp/test/Slice/errorDetection/InterfaceMismatch.ice
+++ b/cpp/test/Slice/errorDetection/InterfaceMismatch.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice b/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice
index 38733c7138a..c5b0fd9ea39 100644
--- a/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/LocalMismatch.ice b/cpp/test/Slice/errorDetection/LocalMismatch.ice
index 5d8a40593bb..dcc10dfe134 100644
--- a/cpp/test/Slice/errorDetection/LocalMismatch.ice
+++ b/cpp/test/Slice/errorDetection/LocalMismatch.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice b/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice
index 47c21a2800d..50d18144b0f 100644
--- a/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice
+++ b/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/NotClassOrInterface.ice b/cpp/test/Slice/errorDetection/NotClassOrInterface.ice
index 18cb99add06..b2200f34acf 100644
--- a/cpp/test/Slice/errorDetection/NotClassOrInterface.ice
+++ b/cpp/test/Slice/errorDetection/NotClassOrInterface.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/NotException.ice b/cpp/test/Slice/errorDetection/NotException.ice
index a27e63ec7cc..1e5f69c6a6a 100644
--- a/cpp/test/Slice/errorDetection/NotException.ice
+++ b/cpp/test/Slice/errorDetection/NotException.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/NotType.ice b/cpp/test/Slice/errorDetection/NotType.ice
index d3308f24b45..5335e9d3789 100644
--- a/cpp/test/Slice/errorDetection/NotType.ice
+++ b/cpp/test/Slice/errorDetection/NotType.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/OperationRedefinition.ice b/cpp/test/Slice/errorDetection/OperationRedefinition.ice
index 168de0b6d8d..c517a71f45e 100644
--- a/cpp/test/Slice/errorDetection/OperationRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/OperationRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/OptionalMembers.ice b/cpp/test/Slice/errorDetection/OptionalMembers.ice
index d4c6d27c4e4..4b4ba802229 100644
--- a/cpp/test/Slice/errorDetection/OptionalMembers.ice
+++ b/cpp/test/Slice/errorDetection/OptionalMembers.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/OptionalParams.ice b/cpp/test/Slice/errorDetection/OptionalParams.ice
index c23edc3a8c3..9a0b8e915e9 100644
--- a/cpp/test/Slice/errorDetection/OptionalParams.ice
+++ b/cpp/test/Slice/errorDetection/OptionalParams.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice b/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice
index d6b2fdcd8cf..9cb1096ea93 100644
--- a/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice
+++ b/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice b/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice
index 817d1f9f1d0..b7339a72069 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice b/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice
index 6c9d7a69429..9eb98fcf084 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice b/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice
index 8e22b7b3311..05cec65a3b6 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice b/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice
index 1bd6afdf1dd..2d113ee5d01 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice b/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice
index 4ad9ef93a8c..87e1234c80d 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice b/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice
index 8b2064c7206..4025587c864 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice b/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice
index e897fe2b98d..f2ad18fcda9 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice b/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice
index 8674498de3b..deb268e0ff3 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/Reserved.ice b/cpp/test/Slice/errorDetection/Reserved.ice
index c3e43398f2a..1370e2209e3 100644
--- a/cpp/test/Slice/errorDetection/Reserved.ice
+++ b/cpp/test/Slice/errorDetection/Reserved.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/SelfContainment.ice b/cpp/test/Slice/errorDetection/SelfContainment.ice
index dd568a165f3..e4a3e91f2cf 100644
--- a/cpp/test/Slice/errorDetection/SelfContainment.ice
+++ b/cpp/test/Slice/errorDetection/SelfContainment.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/SequenceRedefinition.ice b/cpp/test/Slice/errorDetection/SequenceRedefinition.ice
index 36bbbaa1b66..bfa12b99297 100644
--- a/cpp/test/Slice/errorDetection/SequenceRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/SequenceRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/StructMembers.ice b/cpp/test/Slice/errorDetection/StructMembers.ice
index 19f8fee1eb2..91daa7ff7ac 100644
--- a/cpp/test/Slice/errorDetection/StructMembers.ice
+++ b/cpp/test/Slice/errorDetection/StructMembers.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/StructRedefinition.ice b/cpp/test/Slice/errorDetection/StructRedefinition.ice
index 21b6a50b2a1..bd0eaabe4a2 100644
--- a/cpp/test/Slice/errorDetection/StructRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/StructRedefinition.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/Undefined.ice b/cpp/test/Slice/errorDetection/Undefined.ice
index 07f35811795..739b67ce140 100644
--- a/cpp/test/Slice/errorDetection/Undefined.ice
+++ b/cpp/test/Slice/errorDetection/Undefined.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/WrongProxyType.ice b/cpp/test/Slice/errorDetection/WrongProxyType.ice
index 32291d11076..927ba7e8b56 100644
--- a/cpp/test/Slice/errorDetection/WrongProxyType.ice
+++ b/cpp/test/Slice/errorDetection/WrongProxyType.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/errorDetection/include/IcePrefix.ice b/cpp/test/Slice/errorDetection/include/IcePrefix.ice
index 58fb9f02afd..9e4dc484726 100644
--- a/cpp/test/Slice/errorDetection/include/IcePrefix.ice
+++ b/cpp/test/Slice/errorDetection/include/IcePrefix.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/macros/Client.cpp b/cpp/test/Slice/macros/Client.cpp
index 25d77fb20b6..dda24fe93ec 100644
--- a/cpp/test/Slice/macros/Client.cpp
+++ b/cpp/test/Slice/macros/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/macros/Test.ice b/cpp/test/Slice/macros/Test.ice
index e3377a83049..d95e8a389d8 100644
--- a/cpp/test/Slice/macros/Test.ice
+++ b/cpp/test/Slice/macros/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/parser/CircularA.ice b/cpp/test/Slice/parser/CircularA.ice
index c7fb719391f..f176923e79b 100644
--- a/cpp/test/Slice/parser/CircularA.ice
+++ b/cpp/test/Slice/parser/CircularA.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/parser/CircularB.ice b/cpp/test/Slice/parser/CircularB.ice
index 4df135fefdb..55ec490a8ca 100644
--- a/cpp/test/Slice/parser/CircularB.ice
+++ b/cpp/test/Slice/parser/CircularB.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/structure/Client.cpp b/cpp/test/Slice/structure/Client.cpp
index 8c2d27a3bd3..ff4afe091b0 100644
--- a/cpp/test/Slice/structure/Client.cpp
+++ b/cpp/test/Slice/structure/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/structure/Test.ice b/cpp/test/Slice/structure/Test.ice
index 641724d03c0..6f21faf7b25 100644
--- a/cpp/test/Slice/structure/Test.ice
+++ b/cpp/test/Slice/structure/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/Slice/utf8BOM/Test.ice b/cpp/test/Slice/utf8BOM/Test.ice
index 8a1deb55433..23ead41dbd3 100644
--- a/cpp/test/Slice/utf8BOM/Test.ice
+++ b/cpp/test/Slice/utf8BOM/Test.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/include/TestCommon.h b/cpp/test/include/TestCommon.h
index abedc019af5..6182be011fa 100644
--- a/cpp/test/include/TestCommon.h
+++ b/cpp/test/include/TestCommon.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/include/TestHelper.h b/cpp/test/include/TestHelper.h
index 8c4d765d88c..417afb531cc 100644
--- a/cpp/test/include/TestHelper.h
+++ b/cpp/test/include/TestHelper.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/uwp/testSuiteApp/App.xaml.cpp b/cpp/test/uwp/testSuiteApp/App.xaml.cpp
index 05d1d3c281e..9226c93b26e 100644
--- a/cpp/test/uwp/testSuiteApp/App.xaml.cpp
+++ b/cpp/test/uwp/testSuiteApp/App.xaml.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.
diff --git a/cpp/test/uwp/testSuiteApp/App.xaml.h b/cpp/test/uwp/testSuiteApp/App.xaml.h
index 6f2f640ecd6..b24495d01a7 100644
--- a/cpp/test/uwp/testSuiteApp/App.xaml.h
+++ b/cpp/test/uwp/testSuiteApp/App.xaml.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2017 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.