diff options
Diffstat (limited to 'cpp/src')
70 files changed, 4874 insertions, 1350 deletions
diff --git a/cpp/src/Glacier2Lib/SessionHelper.cpp b/cpp/src/Glacier2Lib/SessionHelper.cpp index 861543e2c49..801b4de1a5a 100644 --- a/cpp/src/Glacier2Lib/SessionHelper.cpp +++ b/cpp/src/Glacier2Lib/SessionHelper.cpp @@ -1004,10 +1004,12 @@ Glacier2::SessionFactoryHelper::createInitData() os << _timeout; } initData.properties->setProperty("Ice.Default.Router", os.str()); +#ifndef ICE_OS_WINRT if(_secure) { initData.properties->setProperty("Ice.Plugin.IceSSL","IceSSL:createIceSSL"); } +#endif } return initData; } diff --git a/cpp/src/Glacier2Lib/winrt/.depend.mak b/cpp/src/Glacier2Lib/winrt/.depend.mak new file mode 100644 index 00000000000..06d130304a2 --- /dev/null +++ b/cpp/src/Glacier2Lib/winrt/.depend.mak @@ -0,0 +1,14 @@ +$(ARCH)\$(CONFIG)\PermissionsVerifier$(OBJEXT): ..\PermissionsVerifier.cpp "$(includedir)\Glacier2\PermissionsVerifier.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" +$(ARCH)\$(CONFIG)\Router$(OBJEXT): ..\Router.cpp "$(includedir)\Glacier2\Router.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\Router.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" +$(ARCH)\$(CONFIG)\SSLInfo$(OBJEXT): ..\SSLInfo.cpp "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" +$(ARCH)\$(CONFIG)\Session$(OBJEXT): ..\Session.cpp "$(includedir)\Glacier2\Session.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" +$(ARCH)\$(CONFIG)\SessionHelper$(OBJEXT): ..\SessionHelper.cpp "$(includedir)\Glacier2\SessionHelper.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\Ice.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Logger.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Stats.h" "$(includedir)\Ice\CommunicatorAsync.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\ServantLocator.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\ConnectionAsync.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\Router.h" "$(includedir)\Ice\DispatchInterceptor.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\Glacier2\Router.h" "$(includedir)\IceUtil\UUID.h" "$(includedir)\IceUtil\CountDownLatch.h" +$(ARCH)\$(CONFIG)\RouterF$(OBJEXT): ..\RouterF.cpp "$(includedir)\Glacier2\RouterF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" + +$(HDIR)\PermissionsVerifierF.h ..\PermissionsVerifierF.cpp: "$(slicedir)\Glacier2\PermissionsVerifierF.ice" "$(SLICE2CPP)" +$(HDIR)\PermissionsVerifier.h ..\PermissionsVerifier.cpp: "$(slicedir)\Glacier2\PermissionsVerifier.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(HDIR)\Router.h ..\Router.cpp: "$(slicedir)\Glacier2\Router.ice" "$(slicedir)\Ice\Router.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(SLICE2CPP)" +$(HDIR)\RouterF.h ..\RouterF.cpp: "$(slicedir)\Glacier2\RouterF.ice" "$(SLICE2CPP)" +$(HDIR)\Session.h ..\Session.cpp: "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(SLICE2CPP)" +$(HDIR)\SSLInfo.h ..\SSLInfo.cpp: "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" + diff --git a/cpp/src/Glacier2Lib/winrt/Makefile.mak b/cpp/src/Glacier2Lib/winrt/Makefile.mak new file mode 100644 index 00000000000..f1efcc99789 --- /dev/null +++ b/cpp/src/Glacier2Lib/winrt/Makefile.mak @@ -0,0 +1,72 @@ +# **********************************************************************
+#
+# Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+LIBNAME = $(SDK_LIBRARY_PATH)\glacier2.lib
+TARGETS = $(LIBNAME)
+SOURCE_DIR = ..
+
+TARGETS = $(LIBNAME)
+
+OBJS = $(ARCH)\$(CONFIG)\PermissionsVerifier.obj \
+ $(ARCH)\$(CONFIG)\Router.obj \
+ $(ARCH)\$(CONFIG)\SSLInfo.obj \
+ $(ARCH)\$(CONFIG)\Session.obj \
+ $(ARCH)\$(CONFIG)\SessionHelper.obj
+
+SRCS = $(OBJS:.obj=.cpp)
+SRCS = $(SRCS:x86\=)
+SRCS = $(SRCS:x64\=)
+SRCS = $(SRCS:Retail\=..\)
+SRCS = $(SRCS:Debug\=..\)
+
+SRCS = $(SRCS) \
+ ..\RouterF.cpp
+
+HDIR = $(headerdir)\Glacier2
+SDIR = $(slicedir)\Glacier2
+
+SLICE_SRCS = $(SDIR)/PermissionsVerifierF.ice \
+ $(SDIR)/PermissionsVerifier.ice \
+ $(SDIR)/Router.ice \
+ $(SDIR)/RouterF.ice \
+ $(SDIR)/Session.ice \
+ $(SDIR)/SSLInfo.ice
+
+CPPFLAGS = -I..\.. $(CPPFLAGS) -DGLACIER2_API_EXPORTS -DWIN32_LEAN_AND_MEAN
+
+!include $(top_srcdir)\config\Make.rules.mak
+
+RES_FILE = $(SOURCE_DIR)\Glacier2.res
+
+SLICE2CPPFLAGS = --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS)
+
+$(LIBNAME): $(OBJS) $(RES_FILE) sdks
+ $(AR) $(ARFLAGS) $(OBJS) /out:$(LIBNAME)
+
+depend::
+ del /q .depend.mak
+
+.cpp.depend:
+ $(CXX) /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ /Zs /showIncludes $(CXXFLAGS) $(CPPFLAGS) $< 2>&1 | python.exe $(ice_dir)/config/makedepend-winrt.py $<
+
+depend:: $(ARCH)\$(CONFIG) $(SLICE_SRCS) $(SRCS) $(SRCS_DEPEND)
+ @if not "$(SLICE_SRCS)" == "" \
+ $(SLICE2CPP) --depend $(SLICE2CPPFLAGS) $(SLICE_SRCS) | python.exe $(ice_dir)\config\makedepend-winrt.py
+
+clean::
+ -del /q $(SOURCE_DIR)\PermissionsVerifierF.cpp $(HDIR)\PermissionsVerifierF.h
+ -del /q $(SOURCE_DIR)\PermissionsVerifier.cpp $(HDIR)\PermissionsVerifier.h
+ -del /q $(SOURCE_DIR)\RouterF.cpp $(HDIR)\RouterF.h
+ -del /q $(SOURCE_DIR)\Router.cpp $(HDIR)\Router.h
+ -del /q $(SOURCE_DIR)\Session.cpp $(HDIR)\Session.h
+ -del /q $(SOURCE_DIR)\SSLInfo.cpp $(HDIR)\SSLInfo.h
+ -del /q $(RES_FILE)
+
+!include .depend.mak
diff --git a/cpp/src/Ice/Acceptor.h b/cpp/src/Ice/Acceptor.h index 5725f12a58e..27fdba1a1cb 100644 --- a/cpp/src/Ice/Acceptor.h +++ b/cpp/src/Ice/Acceptor.h @@ -25,7 +25,7 @@ public: virtual NativeInfoPtr getNativeInfo() = 0; virtual void close() = 0; virtual void listen() = 0; -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual void startAccept() = 0; virtual void finishAccept() = 0; #endif diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 0073c442dca..21e642ce572 100755 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -1309,7 +1309,7 @@ IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const Communicat } } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool IceInternal::IncomingConnectionFactory::startAsync(SocketOperation) { @@ -1657,13 +1657,13 @@ IceInternal::IncomingConnectionFactory::setState(State state) state = StateFinished; } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) // - // With IOCP, we close the acceptor now to cancel all the pending asynchronous - // operations. It's important to wait for the pending asynchronous operations - // to return before ConnectionI::finished(). Otherwise, if there was a pending - // message waiting to be sent, the connection wouldn't know whether or not the - // send failed or succeeded, potentially breaking at-most-once semantics. + // With IOCP and WinRT, we close the acceptor now to cancel all the pending + // asynchronous operations. It's important to wait for the pending asynchronous + // operations to return before ConnectionI::finished(). Otherwise, if there was + // a pending message waiting to be sent, the connection wouldn't know whether + // or not the send failed or succeeded, potentially breaking at-most-once semantics. // if(_acceptor) { @@ -1685,7 +1685,7 @@ IceInternal::IncomingConnectionFactory::setState(State state) case StateFinished: { assert(_state == StateClosed); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) if(_acceptor) { _acceptor->close(); diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h index c73489547b4..846248b8e40 100644 --- a/cpp/src/Ice/ConnectionFactory.h +++ b/cpp/src/Ice/ConnectionFactory.h @@ -175,10 +175,11 @@ public: // Operations from EventHandler // -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual bool startAsync(SocketOperation); virtual bool finishAsync(SocketOperation); #endif + virtual void message(ThreadPoolCurrent&); virtual void finished(ThreadPoolCurrent&); virtual std::string toString() const; diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index da9cf31f1fa..f6a16b0f9d6 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -1132,7 +1132,7 @@ Ice::ConnectionI::createProxy(const Identity& ident) const return _instance->proxyFactory()->referenceToProxy(_instance->referenceFactory()->create(ident, self)); } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool Ice::ConnectionI::startAsync(SocketOperation operation) { @@ -1599,7 +1599,7 @@ Ice::ConnectionI::finish() OutgoingMessage* message = &_sendStreams.front(); _writeStream.swap(*message->stream); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) // // The current message might be sent but not yet removed from _sendStreams. If // the response has been received in the meantime, we remove the message from @@ -2020,7 +2020,7 @@ Ice::ConnectionI::setState(State state) return; } _threadPool->finish(this); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) _transceiver->close(); #endif break; @@ -2029,7 +2029,7 @@ Ice::ConnectionI::setState(State state) case StateFinished: { assert(_state == StateClosed); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) _transceiver->close(); #endif _communicator = 0; @@ -2302,6 +2302,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb // message = &_sendStreams.front(); assert(!message->stream->i); +#ifndef ICE_OS_WINRT if(message->compress && message->stream->b.size() >= 100) // Only compress messages > 100 bytes. { // @@ -2329,6 +2330,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb } else { +#endif if(message->compress) { // @@ -2356,7 +2358,9 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb { traceSend(*message->stream, _logger, _traceLevels); } +#ifndef ICE_OS_WINRT } +#endif _writeStream.swap(*message->stream); // @@ -2410,7 +2414,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) // message.stream->i = message.stream->b.begin(); - +#ifndef ICE_OS_WINRT if(message.compress && message.stream->b.size() >= 100) // Only compress messages larger than 100 bytes. { // @@ -2457,6 +2461,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) } else { +#endif if(message.compress) { // @@ -2506,7 +2511,9 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) _sendStreams.push_back(message); _sendStreams.back().adopt(0); // Adopt the stream. +#ifndef ICE_OS_WINRT } +#endif _writeStream.swap(*_sendStreams.back().stream); scheduleTimeout(SocketOperationWrite, _endpoint->timeout()); @@ -2514,6 +2521,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) return AsyncStatusQueued; } +#ifndef ICE_OS_WINRT static string getBZ2Error(int bzError) { @@ -2658,6 +2666,7 @@ Ice::ConnectionI::doUncompress(BasicStream& compressed, BasicStream& uncompresse copy(compressed.b.begin(), compressed.b.begin() + headerSize, uncompressed.b.begin()); } +#endif void Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& requestId, Byte& compress, @@ -2685,12 +2694,15 @@ Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& request Byte messageType; stream.read(messageType); stream.read(compress); + +#ifndef ICE_OS_WINRT if(compress == 2) { BasicStream ustream(_instance.get()); doUncompress(stream, ustream); stream.b.swap(ustream.b); } +#endif stream.i = stream.b.begin() + headerSize; switch(messageType) diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h index de6a3a99e86..8648f8f302c 100644 --- a/cpp/src/Ice/ConnectionI.h +++ b/cpp/src/Ice/ConnectionI.h @@ -128,10 +128,11 @@ public: // // Operations from EventHandler // -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool startAsync(IceInternal::SocketOperation); bool finishAsync(IceInternal::SocketOperation); #endif + virtual void message(IceInternal::ThreadPoolCurrent&); virtual void finished(IceInternal::ThreadPoolCurrent&); virtual std::string toString() const; // From Connection and EvantHandler. @@ -213,9 +214,10 @@ private: void sendNextMessage(std::vector<IceInternal::OutgoingAsyncMessageCallbackPtr>&); IceInternal::AsyncStatus sendMessage(OutgoingMessage&); +#ifndef ICE_OS_WINRT void doCompress(IceInternal::BasicStream&, IceInternal::BasicStream&); void doUncompress(IceInternal::BasicStream&, IceInternal::BasicStream&); - +#endif void parseMessage(IceInternal::BasicStream&, Int&, Int&, Byte&, IceInternal::ServantManagerPtr&, ObjectAdapterPtr&, IceInternal::OutgoingAsyncPtr&); void invokeAll(IceInternal::BasicStream&, Int, Int, Byte, diff --git a/cpp/src/Ice/Connector.h b/cpp/src/Ice/Connector.h index d9dab988181..58bd62bf900 100644 --- a/cpp/src/Ice/Connector.h +++ b/cpp/src/Ice/Connector.h @@ -14,12 +14,6 @@ #include <Ice/ConnectorF.h> #include <Ice/TransceiverF.h> -#ifdef _WIN32 -# include <winsock2.h> -#else -# define SOCKET int -#endif - namespace IceInternal { diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp index 09e5b4ae269..15c9007cb9b 100644 --- a/cpp/src/Ice/DynamicLibrary.cpp +++ b/cpp/src/Ice/DynamicLibrary.cpp @@ -176,7 +176,9 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc bool IceInternal::DynamicLibrary::load(const string& lib) { -#ifdef _WIN32 +#ifdef ICE_OS_WINRT + _hnd = LoadPackagedLibrary(IceUtil::stringToWstring(nativeToUTF8(_stringConverter, lib)).c_str(), 0); +#elif defined(_WIN32) _hnd = LoadLibraryW(IceUtil::stringToWstring(nativeToUTF8(_stringConverter, lib)).c_str()); #else @@ -250,3 +252,4 @@ IceInternal::DynamicLibraryList::add(const DynamicLibraryPtr& library) { _libraries.push_back(library); } + diff --git a/cpp/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp index 5ac241dd909..afb8bdd2743 100644 --- a/cpp/src/Ice/EndpointI.cpp +++ b/cpp/src/Ice/EndpointI.cpp @@ -10,7 +10,6 @@ #include <Ice/EndpointI.h> #include <Ice/Instance.h> #include <Ice/LocalException.h> -#include <Ice/Network.h> #include <Ice/PropertiesI.h> #include <Ice/LoggerUtil.h> #include <IceUtil/MutexPtrLock.h> @@ -58,7 +57,7 @@ IceInternal::EndpointI::ice_getHash() const } vector<ConnectorPtr> -IceInternal::EndpointI::connectors(const vector<struct sockaddr_storage>& addrs) const +IceInternal::EndpointI::connectors(const vector<Address>& addrs) const { // // This method must be extended by endpoints which use the EndpointHostResolver to create @@ -72,6 +71,8 @@ IceInternal::EndpointI::EndpointI() : _hashInitialized(false) { } +#ifndef ICE_OS_WINRT + IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& instance) : IceUtil::Thread("Ice endpoint host resolver thread"), _instance(instance), @@ -105,7 +106,7 @@ IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& insta void IceInternal::EndpointHostResolver::resolve(const string& host, int port, const EndpointIPtr& endpoint, const EndpointI_connectorsPtr& callback) -{ +{ // // Try to get the addresses without DNS lookup. If this doesn't work, we queue a resolve // entry and the thread will take care of getting the endpoint addresses. @@ -188,3 +189,32 @@ IceInternal::EndpointHostResolver::run() } _queue.clear(); } + +#else + +IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& instance) +{ +} + +void +IceInternal::EndpointHostResolver::resolve(const string&, int, + const EndpointIPtr& endpoint, + const EndpointI_connectorsPtr& callback) +{ + // + // No DNS lookup support with WinRT. + // + callback->connectors(endpoint->connectors()); +} + +void +IceInternal::EndpointHostResolver::destroy() +{ +} + +void +IceInternal::EndpointHostResolver::run() +{ +} + +#endif diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h index cde1f4bf4e4..1d170e9bb6d 100644 --- a/cpp/src/Ice/EndpointI.h +++ b/cpp/src/Ice/EndpointI.h @@ -10,6 +10,7 @@ #ifndef ICE_ENDPOINT_I_H #define ICE_ENDPOINT_I_H +#include <IceUtil/Config.h> #include <IceUtil/Shared.h> #include <IceUtil/Thread.h> #include <IceUtil/Monitor.h> @@ -20,15 +21,12 @@ #include <Ice/ConnectorF.h> #include <Ice/AcceptorF.h> #include <Ice/Protocol.h> +#include <Ice/Network.h> -#ifdef _WIN32 -# include <winsock2.h> -#else -# include <sys/socket.h> // For struct sockaddr_storage +#ifndef ICE_OS_WINRT +# include <deque> #endif -#include <deque> - namespace IceInternal { @@ -144,8 +142,8 @@ public: virtual ::Ice::Int ice_getHash() const; protected: - - virtual std::vector<ConnectorPtr> connectors(const std::vector<struct sockaddr_storage>&) const; + + virtual std::vector<ConnectorPtr> connectors(const std::vector<Address>&) const; friend class EndpointHostResolver; EndpointI(); @@ -167,7 +165,11 @@ inline bool operator<(const EndpointI& l, const EndpointI& r) return static_cast<const ::Ice::LocalObject&>(l) < static_cast<const ::Ice::LocalObject&>(r); } +#ifndef ICE_OS_WINRT class ICE_API EndpointHostResolver : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex> +#else +class ICE_API EndpointHostResolver : public IceUtil::Shared +#endif { public: @@ -180,6 +182,7 @@ public: private: +#ifndef ICE_OS_WINRT struct ResolveEntry { std::string host; @@ -191,6 +194,7 @@ private: const InstancePtr _instance; bool _destroyed; std::deque<ResolveEntry> _queue; +#endif }; } diff --git a/cpp/src/Ice/EventHandler.cpp b/cpp/src/Ice/EventHandler.cpp index 48444ebe477..12c796843c4 100644 --- a/cpp/src/Ice/EventHandler.cpp +++ b/cpp/src/Ice/EventHandler.cpp @@ -17,7 +17,7 @@ using namespace IceInternal; IceUtil::Shared* IceInternal::upCast(EventHandler* p) { return p; } IceInternal::EventHandler::EventHandler() : -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) _pending(SocketOperationNone), _ready(SocketOperationNone), _started(SocketOperationNone), diff --git a/cpp/src/Ice/EventHandler.h b/cpp/src/Ice/EventHandler.h index 5f015365ec8..da1df3b93a4 100644 --- a/cpp/src/Ice/EventHandler.h +++ b/cpp/src/Ice/EventHandler.h @@ -24,7 +24,7 @@ class EventHandler : virtual public ::IceUtil::Shared { public: -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) // // Called to start a new asynchronous read or write operation. // @@ -57,7 +57,7 @@ protected: EventHandler(); ICE_API virtual ~EventHandler(); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) SocketOperation _ready; SocketOperation _pending; SocketOperation _started; diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp index 04ac02bfad3..7f070b537c5 100644 --- a/cpp/src/Ice/Exception.cpp +++ b/cpp/src/Ice/Exception.cpp @@ -12,12 +12,35 @@ #include <Ice/Network.h> #include <Ice/Plugin.h> #include <IceUtil/StringUtil.h> +#ifdef ICE_OS_WINRT +# include <IceUtil/Unicode.h> +#endif #include <iomanip> using namespace std; using namespace Ice; using namespace IceInternal; +namespace +{ + +inline string +socketErrorToString(int error) +{ + if(error == 0) + { + return "unknown error"; + } +#ifdef ICE_OS_WINRT + return IceUtil::wstringToString( + static_cast<Windows::Networking::Sockets::SocketErrorStatus>(error).ToString()->Data()); +#else + return IceUtilInternal::errorToString(error); +#endif +} + +}; + namespace IceInternal { @@ -283,15 +306,7 @@ void Ice::SocketException::ice_print(ostream& out) const { Exception::ice_print(out); - out << ":\nsocket exception: "; - if(error == 0) - { - out << "unknown error"; - } - else - { - out << IceUtilInternal::errorToString(error); - } + out << ":\nsocket exception: " << socketErrorToString(error); } void @@ -317,14 +332,14 @@ void Ice::ConnectFailedException::ice_print(ostream& out) const { Exception::ice_print(out); - out << ":\nconnect failed: " << IceUtilInternal::errorToString(error); + out << ":\nconnect failed: " << socketErrorToString(error); } void Ice::ConnectionRefusedException::ice_print(ostream& out) const { Exception::ice_print(out); - out << ":\nconnection refused: " << IceUtilInternal::errorToString(error); + out << ":\nconnection refused: " << socketErrorToString(error); } void @@ -338,7 +353,7 @@ Ice::ConnectionLostException::ice_print(ostream& out) const } else { - out << IceUtilInternal::errorToString(error); + out << socketErrorToString(error); } } @@ -346,7 +361,13 @@ void Ice::DNSException::ice_print(ostream& out) const { Exception::ice_print(out); - out << ":\nDNS error: " << errorToStringDNS(error) << "\nhost: " << host; + out << ":\nDNS error: "; +#ifdef ICE_OS_WINRT + out << socketErrorToString(error); +#else + out << errorToStringDNS(error); +#endif + out << "\nhost: " << host; } void diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp index a14c7cc01f3..37c05bd3410 100644 --- a/cpp/src/Ice/ImplicitContextI.cpp +++ b/cpp/src/Ice/ImplicitContextI.cpp @@ -37,7 +37,7 @@ private: IceUtil::Mutex _mutex; }; - +#ifndef ICE_OS_WINRT class PerThreadImplicitContext : public ImplicitContextI { public: @@ -101,7 +101,7 @@ private: size_t _index; // index in all SlotVector long _id; // corresponds to owner in the Slot }; - +#endif } @@ -118,7 +118,13 @@ ImplicitContextI::create(const std::string& kind) } else if(kind == "PerThread") { +#ifndef ICE_OS_WINRT return new PerThreadImplicitContext; +#else + throw InitializationException(__FILE__, __LINE__, + "'PerThread' Ice.ImplicitContext isn't supported for WinRT."); + return 0; // Keep the compiler happy. +#endif } else { @@ -129,7 +135,7 @@ ImplicitContextI::create(const std::string& kind) } } -#ifdef _WIN32 +#if defined(_WIN32) && !defined(ICE_OS_WINRT) void ImplicitContextI::cleanupThread() { @@ -253,7 +259,7 @@ SharedImplicitContext::combine(const Context& proxyCtx, Context& ctx) const // // PerThreadImplicitContext implementation // - +#ifndef ICE_OS_WINRT long PerThreadImplicitContext::_nextId; PerThreadImplicitContext::IndexInUse* PerThreadImplicitContext::_indexInUse; IceUtil::Mutex* PerThreadImplicitContext::_mutex = 0; @@ -281,11 +287,11 @@ Init init; } -#ifdef _WIN32 +# ifdef _WIN32 DWORD PerThreadImplicitContext::_key; -#else +# else pthread_key_t PerThreadImplicitContext::_key; -#endif +# endif PerThreadImplicitContext::PerThreadImplicitContext() { @@ -297,19 +303,19 @@ PerThreadImplicitContext::PerThreadImplicitContext() // Initialize; note that we never dealloc this key (it would be // complex, and since it's a static variable, it's not really a leak) // -#ifdef _WIN32 +# ifdef _WIN32 _key = TlsAlloc(); if(_key == TLS_OUT_OF_INDEXES) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } -#else +# else int err = pthread_key_create(&_key, &threadDestructor); if(err != 0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err); } -#endif +# endif } // @@ -368,11 +374,11 @@ PerThreadImplicitContext::threadDestructor(void* v) Context* PerThreadImplicitContext::getThreadContext(bool allocate) const { -#ifdef _WIN32 +# ifdef _WIN32 SlotVector* sv = static_cast<SlotVector*>(TlsGetValue(_key)); -#else +# else SlotVector* sv = static_cast<SlotVector*>(pthread_getspecific(_key)); -#endif +# endif if(sv == 0) { if(!allocate) @@ -381,18 +387,18 @@ PerThreadImplicitContext::getThreadContext(bool allocate) const } sv = new SlotVector(_index + 1); -#ifdef _WIN32 +# ifdef _WIN32 if(TlsSetValue(_key, sv) == 0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } -#else +# else if(int err = pthread_setspecific(_key, sv)) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err); } -#endif +# endif } else { @@ -441,11 +447,11 @@ PerThreadImplicitContext::getThreadContext(bool allocate) const void PerThreadImplicitContext::clearThreadContext() const { -#ifdef _WIN32 +# ifdef _WIN32 SlotVector* sv = static_cast<SlotVector*>(TlsGetValue(_key)); -#else +# else SlotVector* sv = static_cast<SlotVector*>(pthread_getspecific(_key)); -#endif +# endif if(sv != 0 && _index < sv->size()) { delete (*sv)[_index].context; @@ -473,17 +479,17 @@ PerThreadImplicitContext::clearThreadContext() const if(clear) { delete sv; -#ifdef _WIN32 +# ifdef _WIN32 if(TlsSetValue(_key, 0) == 0) { IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } -#else +# else if(int err = pthread_setspecific(_key, 0)) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err); } -#endif +# endif } else { @@ -629,3 +635,4 @@ PerThreadImplicitContext::combine(const Context& proxyCtx, Context& ctx) const ctx.insert(threadCtx->begin(), threadCtx->end()); } } +#endif diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index fad49fae521..26099f3b815 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -29,8 +29,6 @@ #include <Ice/Network.h> #include <Ice/EndpointFactoryManager.h> #include <Ice/RetryQueue.h> -#include <Ice/TcpEndpointI.h> -#include <Ice/UdpEndpointI.h> #include <Ice/DynamicLibrary.h> #include <Ice/PluginManagerI.h> #include <Ice/Initialize.h> @@ -53,6 +51,15 @@ # include <sys/types.h> #endif +#include <Ice/UdpEndpointI.h> + +#ifndef ICE_OS_WINRT +# include <Ice/TcpEndpointI.h> +#else +# include <IceSSL/EndpointInfo.h> // For IceSSL::EndpointType +# include <Ice/winrt/StreamEndpointI.h> +#endif + using namespace std; using namespace Ice; using namespace IceInternal; @@ -857,7 +864,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi if(instanceCount == 1) { -#ifdef _WIN32 +#if defined(_WIN32) && !defined(ICE_OS_WINRT) WORD version = MAKEWORD(1, 1); WSADATA data; if(WSAStartup(version, &data) != 0) @@ -943,9 +950,10 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi // const_cast<Int&>(_clientACM) = _initData.properties->getPropertyAsIntWithDefault("Ice.ACM.Client", 60); const_cast<Int&>(_serverACM) = _initData.properties->getPropertyAsInt("Ice.ACM.Server"); +#ifndef ICE_OS_WINRT const_cast<ImplicitContextIPtr&>(_implicitContext) = ImplicitContextI::create(_initData.properties->getProperty("Ice.ImplicitContext")); - +#endif _routerManager = new RouterManager; _locatorManager = new LocatorManager(_initData.properties); @@ -973,8 +981,15 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi _protocolSupport = EnableIPv6; } _endpointFactoryManager = new EndpointFactoryManager(this); +#ifndef ICE_OS_WINRT EndpointFactoryPtr tcpEndpointFactory = new TcpEndpointFactory(this); _endpointFactoryManager->add(tcpEndpointFactory); +#else + EndpointFactoryPtr tcpStreamEndpointFactory = new StreamEndpointFactory(this, TCPEndpointType); + _endpointFactoryManager->add(tcpStreamEndpointFactory); + EndpointFactoryPtr sslStreamEndpointFactory = new StreamEndpointFactory(this, IceSSL::EndpointType); + _endpointFactoryManager->add(sslStreamEndpointFactory); +#endif EndpointFactoryPtr udpEndpointFactory = new UdpEndpointFactory(this); _endpointFactoryManager->add(udpEndpointFactory); @@ -1048,7 +1063,7 @@ IceInternal::Instance::~Instance() IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(staticMutex); if(--instanceCount == 0) { -#ifdef _WIN32 +#if defined(_WIN32) && !defined(ICE_OS_WINRT) WSACleanup(); #endif @@ -1075,7 +1090,6 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) assert(pluginManagerImpl); pluginManagerImpl->loadPlugins(argc, argv); - // // Create threads. // @@ -1098,7 +1112,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) out << "cannot create thread for timer:\n" << ex; throw; } - + try { _endpointHostResolver = new EndpointHostResolver(this); @@ -1109,7 +1123,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) out << "cannot create thread for endpoint host resolver:\n" << ex; throw; } - + _clientThreadPool = new ThreadPool(this, "Ice.ThreadPool.Client", 0); // @@ -1150,7 +1164,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) if(printProcessId) { #ifdef _MSC_VER - cout << _getpid() << endl; + cout << GetCurrentProcessId() << endl; #else cout << getpid() << endl; #endif @@ -1242,7 +1256,6 @@ IceInternal::Instance::destroy() ThreadPoolPtr serverThreadPool; ThreadPoolPtr clientThreadPool; EndpointHostResolverPtr endpointHostResolver; - { IceUtil::RecMutex::Lock sync(*this); @@ -1267,7 +1280,6 @@ IceInternal::Instance::destroy() _clientThreadPool->destroy(); std::swap(_clientThreadPool, clientThreadPool); } - if(_endpointHostResolver) { _endpointHostResolver->destroy(); @@ -1319,7 +1331,7 @@ IceInternal::Instance::destroy() // No destroy function defined. // _dynamicLibraryList->destroy(); _dynamicLibraryList = 0; - + _adminAdapter = 0; _adminFacets.clear(); @@ -1337,11 +1349,13 @@ IceInternal::Instance::destroy() { serverThreadPool->joinWithAllThreads(); } +#ifndef ICE_OS_WINRT if(endpointHostResolver) { endpointHostResolver->getThreadControl().join(); } - +#endif + if(_initData.properties->getPropertyAsInt("Ice.Warn.UnusedProperties") > 0) { set<string> unusedProperties = static_cast<PropertiesI*>(_initData.properties.get())->getUnusedProperties(); diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h index 6d498dc6715..b39e88ce838 100644 --- a/cpp/src/Ice/Instance.h +++ b/cpp/src/Ice/Instance.h @@ -10,6 +10,7 @@ #ifndef ICE_INSTANCE_H #define ICE_INSTANCE_H +#include <IceUtil/Config.h> #include <IceUtil/Shared.h> #include <IceUtil/Mutex.h> #include <IceUtil/RecMutex.h> diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 28a380779a8..ed730a8bb88 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -21,25 +21,28 @@ // The following is required for the Vista PSDK to bring in // the definitions of the IN6_IS_ADDR_* macros. // -#if defined(_WIN32) && !defined(_WIN32_WINNT) +#if defined(_WIN32) && !defined(_WIN32_WINNT) && WINAPI_FAMILY != 0x02 # define _WIN32_WINNT 0x0501 #endif +#include <Ice/Network.h> #include <IceUtil/StringUtil.h> #include <IceUtil/Unicode.h> -#include <Ice/Network.h> #include <Ice/LocalException.h> #include <Ice/Properties.h> // For setTcpBufSize #include <Ice/LoggerUtil.h> // For setTcpBufSize -#if defined(_WIN32) -# include <winsock2.h> -# include <ws2tcpip.h> -# include <iphlpapi.h> -# include <Mswsock.h> +#if defined(ICE_OS_WINRT) +# include <IceUtil/InputUtil.h> +# include <ppltasks.h> // For Concurrency::task +#elif defined(_WIN32) +# include <winsock2.h> +# include <ws2tcpip.h> +# include <iphlpapi.h> +# include <Mswsock.h> #else -# include <net/if.h> -# include <sys/ioctl.h> +# include <net/if.h> +# include <sys/ioctl.h> #endif #if defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__) @@ -52,6 +55,14 @@ using namespace std; using namespace Ice; using namespace IceInternal; +#ifdef ICE_OS_WINRT +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Storage::Streams; +using namespace Windows::Networking; +using namespace Windows::Networking::Sockets; +#endif + #if defined(__sun) && !defined(__GNUC__) # define INADDR_NONE (in_addr_t)0xffffffff #endif @@ -59,10 +70,195 @@ using namespace IceInternal; namespace { -vector<struct sockaddr_storage> +#ifndef ICE_OS_WINRT +void +setTcpNoDelay(SOCKET fd) +{ + int flag = 1; + if(setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, int(sizeof(int))) == SOCKET_ERROR) + { + closeSocketNoThrow(fd); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } +} + +void +setKeepAlive(SOCKET fd) +{ + int flag = 1; + if(setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (char*)&flag, int(sizeof(int))) == SOCKET_ERROR) + { + closeSocketNoThrow(fd); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } +} +#endif + +SOCKET +createSocketImpl(bool udp, int family) +{ +#ifdef ICE_OS_WINRT + if(udp) + { + return ref new DatagramSocket(); + } + else + { + StreamSocket^ socket = ref new StreamSocket(); + socket->Control->KeepAlive = true; + socket->Control->NoDelay = true; + return socket; + } +#else + SOCKET fd; + + if(udp) + { + fd = socket(family, SOCK_DGRAM, IPPROTO_UDP); + } + else + { + fd = socket(family, SOCK_STREAM, IPPROTO_TCP); + } + + if(fd == INVALID_SOCKET) + { + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + + if(!udp) + { + setTcpNoDelay(fd); + setKeepAlive(fd); + } + + return fd; +#endif +} + +Address +getAddressImpl(const string& host, int port, ProtocolSupport protocol, bool server) +{ + Address addr; +#ifdef ICE_OS_WINRT + ostringstream os; + os << port; + addr.port = ref new String(IceUtil::stringToWstring(os.str()).c_str()); + if(host.empty()) + { + if(server) + { + addr.host = nullptr; // Equivalent of inaddr_any, see doBind implementation. + } + else + { + addr.host = ref new HostName("localhost"); + } + } + else + { + addr.host = ref new HostName(ref new String(IceUtil::stringToWstring(host).c_str())); + } +#else + memset(&addr, 0, sizeof(Address)); + + // + // We don't use getaddrinfo when host is empty as it's not portable (some old Linux + // versions don't support it). + // + if(host.empty()) + { + if(protocol == EnableIPv6) + { + sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); + addrin6->sin6_family = AF_INET6; + addrin6->sin6_port = htons(port); + addrin6->sin6_addr = server ? in6addr_any : in6addr_loopback; + } + else + { + sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); + addrin->sin_family = AF_INET; + addrin->sin_port = htons(port); + addrin->sin_addr.s_addr = server ? htonl(INADDR_ANY) : htonl(INADDR_LOOPBACK); + } + return addr; + } + + struct addrinfo* info = 0; + int retry = 5; + + struct addrinfo hints = { 0 }; + + if(server) + { + // + // If host is empty, getaddrinfo will return the wildcard + // address instead of the loopack address. + // + hints.ai_flags |= AI_PASSIVE; + } + + if(protocol == EnableIPv4) + { + hints.ai_family = PF_INET; + } + else if(protocol == EnableIPv6) + { + hints.ai_family = PF_INET6; + } + else + { + hints.ai_family = PF_UNSPEC; + } + + int rs = 0; + do + { + rs = getaddrinfo(host.c_str(), 0, &hints, &info); + } + while(info == 0 && rs == EAI_AGAIN && --retry >= 0); + + if(rs != 0) + { + DNSException ex(__FILE__, __LINE__); + ex.error = rs; + ex.host = host; + throw ex; + } + + memcpy(&addr, info->ai_addr, info->ai_addrlen); + if(info->ai_family == PF_INET) + { + reinterpret_cast<sockaddr_in*>(&addr)->sin_port = htons(port); + } + else if(info->ai_family == PF_INET6) + { + reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port = htons(port); + } + else // Unknown address family. + { + freeaddrinfo(info); + DNSException ex(__FILE__, __LINE__); + ex.host = host; + throw ex; + } + freeaddrinfo(info); +#endif + return addr; +} + +#ifndef ICE_OS_WINRT +vector<Address> getLocalAddresses(ProtocolSupport protocol) { - vector<struct sockaddr_storage> result; + vector<Address> result; #if defined(_WIN32) try @@ -74,7 +270,7 @@ getLocalAddresses(ProtocolSupport protocol) continue; } - SOCKET fd = createSocket(false, i == 0 ? AF_INET : AF_INET6); + SOCKET fd = createSocketImpl(false, i == 0 ? AF_INET : AF_INET6); vector<unsigned char> buffer; buffer.resize(1024); @@ -111,7 +307,7 @@ getLocalAddresses(ProtocolSupport protocol) SOCKET_ADDRESS_LIST* addrs = reinterpret_cast<SOCKET_ADDRESS_LIST*>(&buffer[0]); for (int i = 0; i < addrs->iAddressCount; ++i) { - sockaddr_storage addr; + Address addr; memcpy(&addr, addrs->Address[i].lpSockaddr, addrs->Address[i].iSockaddrLength); if(addr.ss_family == AF_INET && protocol != EnableIPv6) { @@ -155,7 +351,7 @@ getLocalAddresses(ProtocolSupport protocol) { if(curr->ifa_addr->sa_family == AF_INET && protocol != EnableIPv6) { - sockaddr_storage addr; + Address addr; memcpy(&addr, curr->ifa_addr, sizeof(sockaddr_in)); if(reinterpret_cast<struct sockaddr_in*>(&addr)->sin_addr.s_addr != 0) { @@ -164,11 +360,11 @@ getLocalAddresses(ProtocolSupport protocol) } else if(curr->ifa_addr->sa_family == AF_INET6 && protocol != EnableIPv4) { - sockaddr_storage addr; + Address addr; memcpy(&addr, curr->ifa_addr, sizeof(sockaddr_in6)); if(!IN6_IS_ADDR_UNSPECIFIED(&reinterpret_cast<struct sockaddr_in6*>(&addr)->sin6_addr)) { - result.push_back(*reinterpret_cast<struct sockaddr_storage*>(curr->ifa_addr)); + result.push_back(*reinterpret_cast<Address*>(curr->ifa_addr)); } } } @@ -184,7 +380,7 @@ getLocalAddresses(ProtocolSupport protocol) { continue; } - SOCKET fd = createSocket(false, i == 0 ? AF_INET : AF_INET6); + SOCKET fd = createSocketImpl(false, i == 0 ? AF_INET : AF_INET6); #ifdef _AIX int cmd = CSIOCGIFCONF; @@ -239,51 +435,51 @@ getLocalAddresses(ProtocolSupport protocol) { if(!(ifr[i].ifr_flags & IFF_LOOPBACK)) // Don't include loopback interface addresses { - // - // On Solaris the above Loopback check does not always work so we double - // check the address below. Solaris also returns duplicate entries that need - // to be filtered out. - // + // + // On Solaris the above Loopback check does not always work so we double + // check the address below. Solaris also returns duplicate entries that need + // to be filtered out. + // if(ifr[i].ifr_addr.sa_family == AF_INET && protocol != EnableIPv6) { - sockaddr_storage addr; + Address addr; memcpy(&addr, &ifr[i].ifr_addr, sizeof(sockaddr_in)); struct in_addr* inaddr = &reinterpret_cast<struct sockaddr_in*>(&addr)->sin_addr; if(inaddr->s_addr != 0 && inaddr->s_addr != htonl(INADDR_LOOPBACK)) { - unsigned int j; - for(j = 0; j < result.size(); ++j) - { - if(compareAddress(addr, result[j]) == 0) - { - break; - } - } - if(j == result.size()) - { + unsigned int j; + for(j = 0; j < result.size(); ++j) + { + if(compareAddress(addr, result[j]) == 0) + { + break; + } + } + if(j == result.size()) + { result.push_back(addr); - } + } } } else if(ifr[i].ifr_addr.sa_family == AF_INET6 && protocol != EnableIPv4) { - sockaddr_storage addr; + Address addr; memcpy(&addr, &ifr[i].ifr_addr, sizeof(sockaddr_in6)); struct in6_addr* inaddr6 = &reinterpret_cast<struct sockaddr_in6*>(&addr)->sin6_addr; if(!IN6_IS_ADDR_UNSPECIFIED(inaddr6) && !IN6_IS_ADDR_LOOPBACK(inaddr6)) { - unsigned int j; - for(j = 0; j < result.size(); ++j) - { - if(compareAddress(addr, result[j]) == 0) - { - break; - } - } - if(j == result.size()) - { + unsigned int j; + for(j = 0; j < result.size(); ++j) + { + if(compareAddress(addr, result[j]) == 0) + { + break; + } + } + if(j == result.size()) + { result.push_back(addr); - } + } } } } @@ -295,103 +491,12 @@ getLocalAddresses(ProtocolSupport protocol) return result; } -struct sockaddr_storage -getAddressImpl(const string& host, int port, ProtocolSupport protocol, bool server) -{ - struct sockaddr_storage addr; - memset(&addr, 0, sizeof(struct sockaddr_storage)); - - // - // We don't use getaddrinfo when host is empty as it's not portable (some old Linux - // versions don't support it). - // - if(host.empty()) - { - if(protocol == EnableIPv6) - { - sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); - addrin6->sin6_family = AF_INET6; - addrin6->sin6_port = htons(port); - addrin6->sin6_addr = server ? in6addr_any : in6addr_loopback; - } - else - { - sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); - addrin->sin_family = AF_INET; - addrin->sin_port = htons(port); - addrin->sin_addr.s_addr = server ? htonl(INADDR_ANY) : htonl(INADDR_LOOPBACK); - } - return addr; - } - - struct addrinfo* info = 0; - int retry = 5; - - struct addrinfo hints = { 0 }; - - if(server) - { - // - // If host is empty, getaddrinfo will return the wildcard - // address instead of the loopack address. - // - hints.ai_flags |= AI_PASSIVE; - } - - if(protocol == EnableIPv4) - { - hints.ai_family = PF_INET; - } - else if(protocol == EnableIPv6) - { - hints.ai_family = PF_INET6; - } - else - { - hints.ai_family = PF_UNSPEC; - } - - int rs = 0; - do - { - rs = getaddrinfo(host.c_str(), 0, &hints, &info); - } - while(info == 0 && rs == EAI_AGAIN && --retry >= 0); - - if(rs != 0) - { - DNSException ex(__FILE__, __LINE__); - ex.error = rs; - ex.host = host; - throw ex; - } - - memcpy(&addr, info->ai_addr, info->ai_addrlen); - if(info->ai_family == PF_INET) - { - reinterpret_cast<sockaddr_in*>(&addr)->sin_port = htons(port); - } - else if(info->ai_family == PF_INET6) - { - reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port = htons(port); - } - else // Unknown address family. - { - freeaddrinfo(info); - DNSException ex(__FILE__, __LINE__); - ex.host = host; - throw ex; - } - freeaddrinfo(info); - return addr; -} - bool isWildcard(const string& host, ProtocolSupport protocol) { try { - sockaddr_storage addr = getAddressImpl(host, 0, protocol, false); + Address addr = getAddressImpl(host, 0, protocol, false); if(addr.ss_family == AF_INET) { struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); @@ -481,7 +586,7 @@ getInterfaceAddress(const string& name) ifreq if_address; strcpy(if_address.ifr_name, name.c_str()); - SOCKET fd = createSocket(false, AF_INET); + SOCKET fd = createSocketImpl(false, AF_INET); int rc = ioctl(fd, SIOCGIFADDR, &if_address); closeSocketNoThrow(fd); @@ -494,6 +599,8 @@ getInterfaceAddress(const string& name) return addr; } +#endif // #ifndef ICE_OS_WINRT + } #ifdef ICE_USE_IOCP @@ -504,317 +611,691 @@ IceInternal::AsyncInfo::AsyncInfo(SocketOperation s) } #endif -int -IceInternal::getSocketErrno() +bool +IceInternal::noMoreFds(int error) { -#ifdef _WIN32 - return WSAGetLastError(); +#if defined(ICE_OS_WINRT) + return error == (int)SocketErrorStatus::TooManyOpenFiles; +#elif defined(_WIN32) + return error == WSAEMFILE; #else - return errno; + return error == EMFILE || error == ENFILE; #endif } -bool -IceInternal::interrupted() +string +IceInternal::errorToStringDNS(int error) { -#ifdef _WIN32 - return WSAGetLastError() == WSAEINTR; +#if defined(ICE_OS_WINRT) + return "Host not found"; +#elif defined(_WIN32) + return IceUtilInternal::errorToString(error); #else -# ifdef EPROTO - return errno == EINTR || errno == EPROTO; -# else - return errno == EINTR; -# endif + return gai_strerror(error); #endif } -bool -IceInternal::acceptInterrupted() +vector<Address> +IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol, bool blocking) { - if(interrupted()) + vector<Address> result; + Address addr; +#ifdef ICE_OS_WINRT + addr.host = ref new HostName(host.empty() ? "localhost" : ref new String(IceUtil::stringToWstring(host).c_str())); + stringstream os; + os << port; + addr.port = ref new String(IceUtil::stringToWstring(os.str()).c_str()); + result.push_back(addr); +#else + memset(&addr, 0, sizeof(Address)); + + // + // We don't use getaddrinfo when host is empty as it's not portable (some old Linux + // versions don't support it). + // + if(host.empty()) { - return true; + if(protocol != EnableIPv4) + { + sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); + addrin6->sin6_family = AF_INET6; + addrin6->sin6_port = htons(port); + addrin6->sin6_addr = in6addr_loopback; + result.push_back(addr); + } + if(protocol != EnableIPv6) + { + sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); + addrin->sin_family = AF_INET; + addrin->sin_port = htons(port); + addrin->sin_addr.s_addr = htonl(INADDR_LOOPBACK); + result.push_back(addr); + } + return result; } -#ifdef _WIN32 - int error = WSAGetLastError(); - return error == WSAECONNABORTED || - error == WSAECONNRESET || - error == WSAETIMEDOUT; + struct addrinfo* info = 0; + int retry = 5; + + struct addrinfo hints = { 0 }; + if(protocol == EnableIPv4) + { + hints.ai_family = PF_INET; + } + else if(protocol == EnableIPv6) + { + hints.ai_family = PF_INET6; + } + else + { + hints.ai_family = PF_UNSPEC; + } + + if(!blocking) + { + hints.ai_flags = AI_NUMERICHOST; + } + + int rs = 0; + do + { + rs = getaddrinfo(host.c_str(), 0, &hints, &info); + } + while(info == 0 && rs == EAI_AGAIN && --retry >= 0); + + // In theory, getaddrinfo should only return EAI_NONAME if AI_NUMERICHOST is specified and the host name + // is not a IP address. However on some platforms (e.g. Mac OS X 10.4.x) EAI_NODATA is also returned so + // we also check for it. +#ifdef EAI_NODATA + if(!blocking && (rs == EAI_NONAME || rs == EAI_NODATA)) #else - return errno == ECONNABORTED || - errno == ECONNRESET || - errno == ETIMEDOUT; + if(!blocking && rs == EAI_NONAME) +#endif + { + return result; // Empty result indicates that a blocking lookup is necessary. + } + else if(rs != 0) + { + DNSException ex(__FILE__, __LINE__); + ex.error = rs; + ex.host = host; + throw ex; + } + + struct addrinfo* p; + for(p = info; p != NULL; p = p->ai_next) + { + memcpy(&addr, p->ai_addr, p->ai_addrlen); + if(p->ai_family == PF_INET) + { + struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); + addrin->sin_port = htons(port); + } + else if(p->ai_family == PF_INET6) + { + struct sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); + addrin6->sin6_port = htons(port); + } + + bool found = false; + for(unsigned int i = 0; i < result.size(); ++i) + { + if(compareAddress(result[i], addr) == 0) + { + found = true; + break; + } + } + if(!found) + { + result.push_back(addr); + } + } + + freeaddrinfo(info); + + if(result.size() == 0) + { + DNSException ex(__FILE__, __LINE__); + ex.host = host; + throw ex; + } #endif + return result; } -bool -IceInternal::noBuffers() +ProtocolSupport +IceInternal::getProtocolSupport(const Address& addr) { -#ifdef _WIN32 - int error = WSAGetLastError(); - return error == WSAENOBUFS || - error == WSAEFAULT; +#ifndef ICE_OS_WINRT + return addr.ss_family == AF_INET ? EnableIPv4 : EnableIPv6; #else - return errno == ENOBUFS; + return EnableIPv4; #endif } -bool -IceInternal::wouldBlock() +Address +IceInternal::getAddressForServer(const string& host, int port, ProtocolSupport protocol) { -#ifdef _WIN32 - int error = WSAGetLastError(); - return error == WSAEWOULDBLOCK || error == WSA_IO_PENDING || error == ERROR_IO_PENDING; + return getAddressImpl(host, port, protocol, true); +} + +Address +IceInternal::getAddress(const string& host, int port, ProtocolSupport protocol) +{ + return getAddressImpl(host, port, protocol, false); +} + +int +IceInternal::compareAddress(const Address& addr1, const Address& addr2) +{ +#ifdef ICE_OS_WINRT + int o = String::CompareOrdinal(addr1.port, addr2.port); + if(o != 0) + { + return o; + } + return String::CompareOrdinal(addr1.host->RawName, addr2.host->RawName); #else - return errno == EAGAIN || errno == EWOULDBLOCK; + if(addr1.ss_family < addr2.ss_family) + { + return -1; + } + else if(addr2.ss_family < addr1.ss_family) + { + return 1; + } + + if(addr1.ss_family == AF_INET) + { + const struct sockaddr_in* addr1in = reinterpret_cast<const sockaddr_in*>(&addr1); + const struct sockaddr_in* addr2in = reinterpret_cast<const sockaddr_in*>(&addr2); + + if(addr1in->sin_port < addr2in->sin_port) + { + return -1; + } + else if(addr2in->sin_port < addr1in->sin_port) + { + return 1; + } + + if(addr1in->sin_addr.s_addr < addr2in->sin_addr.s_addr) + { + return -1; + } + else if(addr2in->sin_addr.s_addr < addr1in->sin_addr.s_addr) + { + return 1; + } + } + else + { + const struct sockaddr_in6* addr1in = reinterpret_cast<const sockaddr_in6*>(&addr1); + const struct sockaddr_in6* addr2in = reinterpret_cast<const sockaddr_in6*>(&addr2); + + if(addr1in->sin6_port < addr2in->sin6_port) + { + return -1; + } + else if(addr2in->sin6_port < addr1in->sin6_port) + { + return 1; + } + + int res = memcmp(&addr1in->sin6_addr, &addr2in->sin6_addr, sizeof(struct in6_addr)); + if(res < 0) + { + return -1; + } + else if(res > 0) + { + return 1; + } + } + + return 0; #endif } -bool -IceInternal::connectFailed() +SOCKET +IceInternal::createSocket(bool udp, const Address& addr) { -#ifdef _WIN32 - int error = WSAGetLastError(); - return error == WSAECONNREFUSED || - error == WSAETIMEDOUT || - error == WSAENETUNREACH || - error == WSAEHOSTUNREACH || - error == WSAECONNRESET || - error == WSAESHUTDOWN || - error == WSAECONNABORTED; +#ifdef ICE_OS_WINRT + return createSocketImpl(udp, 0); #else - return errno == ECONNREFUSED || - errno == ETIMEDOUT || - errno == ENETUNREACH || - errno == EHOSTUNREACH || - errno == ECONNRESET || - errno == ESHUTDOWN || - errno == ECONNABORTED; + return createSocketImpl(udp, addr.ss_family); #endif } -bool -IceInternal::connectionRefused() + +void +IceInternal::closeSocketNoThrow(SOCKET fd) { -#ifdef _WIN32 +#if defined(ICE_OS_WINRT) + // + // NOTE: StreamSocket::Close or DatagramSocket::Close aren't + // exposed in C++, you have to delete the socket to close + // it. According some Microsoft samples, this is safe even if + // there are still references to the object... + // + //fd->Close(); + delete fd; +#elif defined(_WIN32) int error = WSAGetLastError(); - return error == WSAECONNREFUSED || error == ERROR_CONNECTION_REFUSED; + closesocket(fd); + WSASetLastError(error); #else - return errno == ECONNREFUSED; + int error = errno; + close(fd); + errno = error; #endif } -bool -IceInternal::connectInProgress() +void +IceInternal::closeSocket(SOCKET fd) { -#ifdef _WIN32 +#if defined(ICE_OS_WINRT) + // + // NOTE: StreamSocket::Close or DatagramSocket::Close aren't + // exposed in C++, you have to delete the socket to close + // it. According some Microsoft samples, this is safe even if + // there are still references to the object... + // + //fd->Close(); + delete fd; +#elif defined(_WIN32) int error = WSAGetLastError(); - return error == WSAEWOULDBLOCK || error == WSA_IO_PENDING || error == ERROR_IO_PENDING; + if(closesocket(fd) == SOCKET_ERROR) + { + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + WSASetLastError(error); #else - return errno == EINPROGRESS; + int error = errno; + if(close(fd) == SOCKET_ERROR) + { + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + errno = error; #endif } -bool -IceInternal::connectionLost() +string +IceInternal::addrToString(const Address& addr) { -#ifdef _WIN32 - int error = WSAGetLastError(); - return error == WSAECONNRESET || - error == WSAESHUTDOWN || - error == WSAENOTCONN || -#ifdef ICE_USE_IOCP - error == ERROR_NETNAME_DELETED || -#endif - error == WSAECONNABORTED; + ostringstream s; + s << inetAddrToString(addr) << ':' << getPort(addr); + return s.str(); +} + +void +IceInternal::fdToLocalAddress(SOCKET fd, Address& addr) +{ +#ifndef ICE_OS_WINRT + socklen_t len = static_cast<socklen_t>(sizeof(Address)); + if(getsockname(fd, reinterpret_cast<struct sockaddr*>(&addr), &len) == SOCKET_ERROR) + { + closeSocketNoThrow(fd); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } #else - return errno == ECONNRESET || - errno == ENOTCONN || - errno == ESHUTDOWN || - errno == ECONNABORTED || - errno == EPIPE; + StreamSocket^ stream = dynamic_cast<StreamSocket^>(fd); + if(stream) + { + addr.host = stream->Information->LocalAddress; + addr.port = stream->Information->LocalPort; + } + DatagramSocket^ datagram = dynamic_cast<DatagramSocket^>(fd); + if(datagram) + { + addr.host = datagram->Information->LocalAddress; + addr.port = datagram->Information->LocalPort; + } #endif } bool -IceInternal::notConnected() +IceInternal::fdToRemoteAddress(SOCKET fd, Address& addr) { -#ifdef _WIN32 - return WSAGetLastError() == WSAENOTCONN; -#elif defined(__APPLE__) || defined(__FreeBSD__) - return errno == ENOTCONN || errno == EINVAL; +#ifndef ICE_OS_WINRT + socklen_t len = static_cast<socklen_t>(sizeof(Address)); + if(getpeername(fd, reinterpret_cast<struct sockaddr*>(&addr), &len) == SOCKET_ERROR) + { + if(notConnected()) + { + return false; + } + else + { + closeSocketNoThrow(fd); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + } + + return true; #else - return errno == ENOTCONN; + StreamSocket^ stream = dynamic_cast<StreamSocket^>(fd); + if(stream != nullptr) + { + addr.host = stream->Information->RemoteAddress; + addr.port = stream->Information->RemotePort; + } + DatagramSocket^ datagram = dynamic_cast<DatagramSocket^>(fd); + if(datagram != nullptr) + { + addr.host = datagram->Information->RemoteAddress; + addr.port = datagram->Information->RemotePort; + } + return addr.host != nullptr; #endif } + +std::string +IceInternal::fdToString(SOCKET fd) +{ + if(fd == INVALID_SOCKET) + { + return "<closed>"; + } + + Address localAddr; + fdToLocalAddress(fd, localAddr); + + Address remoteAddr; + bool peerConnected = fdToRemoteAddress(fd, remoteAddr); + + return addressesToString(localAddr, remoteAddr, peerConnected); +}; + +void +IceInternal::fdToAddressAndPort(SOCKET fd, string& localAddress, int& localPort, string& remoteAddress, int& remotePort) +{ + if(fd == INVALID_SOCKET) + { + localAddress.clear(); + remoteAddress.clear(); + localPort = -1; + remotePort = -1; + return; + } + + Address localAddr; + fdToLocalAddress(fd, localAddr); + addrToAddressAndPort(localAddr, localAddress, localPort); + + Address remoteAddr; + if(fdToRemoteAddress(fd, remoteAddr)) + { + addrToAddressAndPort(remoteAddr, remoteAddress, remotePort); + } + else + { + remoteAddress.clear(); + remotePort = -1; + } +} + +void +IceInternal::addrToAddressAndPort(const Address& addr, string& address, int& port) +{ + address = inetAddrToString(addr); + port = getPort(addr); +} + +std::string +IceInternal::addressesToString(const Address& localAddr, const Address& remoteAddr, + bool peerConnected) +{ + ostringstream s; + s << "local address = " << addrToString(localAddr); + if(peerConnected) + { + s << "\nremote address = " << addrToString(remoteAddr); + } + else + { + s << "\nremote address = <not connected>"; + } + return s.str(); +} + bool -IceInternal::recvTruncated() +IceInternal::isAddressValid(const Address& addr) { -#ifdef _WIN32 - int err = WSAGetLastError(); - return err == WSAEMSGSIZE || err == ERROR_MORE_DATA; +#ifndef ICE_OS_WINRT + return addr.ss_family != AF_UNSPEC; #else - // We don't get an error under Linux if a datagram is truncated. - return false; + return addr.host != nullptr || addr.port != nullptr; #endif } -bool -IceInternal::noMoreFds(int error) +vector<string> +IceInternal::getHostsForEndpointExpand(const string& host, ProtocolSupport protocolSupport, bool includeLoopback) { -#ifdef _WIN32 - return error == WSAEMFILE; + vector<string> hosts; + +#ifndef ICE_OS_WINRT + if(host.empty() || isWildcard(host, protocolSupport)) + { + vector<Address> addrs = getLocalAddresses(protocolSupport); + for(vector<Address>::const_iterator p = addrs.begin(); p != addrs.end(); ++p) + { + // + // NOTE: We don't publish link-local IPv6 addresses as these addresses can only + // be accessed in general with a scope-id. + // + if(p->ss_family != AF_INET6 || + !IN6_IS_ADDR_LINKLOCAL(&reinterpret_cast<const struct sockaddr_in6*>(&(*p))->sin6_addr)) + { + hosts.push_back(inetAddrToString(*p)); + } + } + + if(hosts.empty() || includeLoopback) + { + if(protocolSupport != EnableIPv6) + { + hosts.push_back("127.0.0.1"); + } + if(protocolSupport != EnableIPv4) + { + hosts.push_back("0:0:0:0:0:0:0:1"); + } + } + } #else - return error == EMFILE || error == ENFILE; + // + // No support for expanding wildcard addresses on WinRT + // #endif + return hosts; // An empty host list indicates to just use the given host. } -SOCKET -IceInternal::createSocket(bool udp, int family) +string +IceInternal::inetAddrToString(const Address& ss) { - SOCKET fd; - - if(udp) +#ifndef ICE_OS_WINRT + int size = 0; + if(ss.ss_family == AF_INET) { - fd = socket(family, SOCK_DGRAM, IPPROTO_UDP); + size = sizeof(sockaddr_in); + } + else if(ss.ss_family == AF_INET6) + { + size = sizeof(sockaddr_in6); } else { - fd = socket(family, SOCK_STREAM, IPPROTO_TCP); + return ""; } - if(fd == INVALID_SOCKET) + char namebuf[1024]; + namebuf[0] = '\0'; + getnameinfo(reinterpret_cast<const struct sockaddr *>(&ss), size, namebuf, sizeof(namebuf), 0, 0, NI_NUMERICHOST); + return string(namebuf); +#else + if(ss.host == nullptr) { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; + return ""; } - - if(!udp) + else { - setTcpNoDelay(fd); - setKeepAlive(fd); + return IceUtil::wstringToString(ss.host->RawName->Data()); } - - return fd; +#endif } -void -IceInternal::closeSocket(SOCKET fd) +int +IceInternal::getPort(const Address& addr) { -#ifdef _WIN32 - int error = WSAGetLastError(); - if(closesocket(fd) == SOCKET_ERROR) +#ifndef ICE_OS_WINRT + if(addr.ss_family == AF_INET) { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; + return ntohs(reinterpret_cast<const sockaddr_in*>(&addr)->sin_port); + } + else if(addr.ss_family == AF_INET6) + { + return ntohs(reinterpret_cast<const sockaddr_in6*>(&addr)->sin6_port); + } + else + { + return -1; } - WSASetLastError(error); #else - int error = errno; - if(close(fd) == SOCKET_ERROR) + IceUtil::Int64 port; + if(addr.port == nullptr || !IceUtilInternal::stringToInt64(IceUtil::wstringToString(addr.port->Data()), port)) { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; + return -1; } - errno = error; + return static_cast<int>(port); #endif } void -IceInternal::closeSocketNoThrow(SOCKET fd) +IceInternal::setPort(Address& addr, int port) { -#ifdef _WIN32 - int error = WSAGetLastError(); - closesocket(fd); - WSASetLastError(error); +#ifndef ICE_OS_WINRT + if(addr.ss_family == AF_INET) + { + reinterpret_cast<sockaddr_in*>(&addr)->sin_port = htons(port); + } + else + { + assert(addr.ss_family == AF_INET6); + reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port = htons(port); + } #else - int error = errno; - close(fd); - errno = error; + ostringstream os; + os << port; + addr.port = ref new String(IceUtil::stringToWstring(os.str()).c_str()); #endif } -void -IceInternal::shutdownSocketWrite(SOCKET fd) +bool +IceInternal::isMulticast(const Address& addr) { - if(shutdown(fd, SHUT_WR) == SOCKET_ERROR) +#ifndef ICE_OS_WINRT + if(addr.ss_family == AF_INET) { - // - // Ignore errors indicating that we are shutdown already. - // -#if defined(_WIN32) - int error = WSAGetLastError(); - // - // Under Vista its possible to get a WSAECONNRESET. See - // http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=1739 for - // some details. - // - if(error == WSAENOTCONN || error == WSAECONNRESET) - { - return; - } -#elif defined(__APPLE__) || defined(__FreeBSD__) - if(errno == ENOTCONN || errno == EINVAL) - { - return; - } + return IN_MULTICAST(ntohl(reinterpret_cast<const struct sockaddr_in*>(&addr)->sin_addr.s_addr)); + } + else if(addr.ss_family == AF_INET6) + { + return IN6_IS_ADDR_MULTICAST(&reinterpret_cast<const struct sockaddr_in6*>(&addr)->sin6_addr); + } #else - if(errno == ENOTCONN) + if(addr.host == nullptr) + { + return false; + } + string host = IceUtil::wstringToString(addr.host->RawName->Data()); + string ip = IceUtilInternal::toUpper(host); + vector<string> tokens; + IceUtilInternal::splitString(ip, ".", tokens); + if(tokens.size() == 4) + { + IceUtil::Int64 j; + if(IceUtilInternal::stringToInt64(tokens[0], j)) { - return; + if(j >= 233 && j <= 239) + { + return true; + } } -#endif - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; } + if(ip.find("::") != string::npos) + { + return ip.compare(0, 2, "FF") == 0; + } +#endif + return false; } void -IceInternal::shutdownSocketReadWrite(SOCKET fd) +IceInternal::setTcpBufSize(SOCKET fd, const Ice::PropertiesPtr& properties, const Ice::LoggerPtr& logger) { - if(shutdown(fd, SHUT_RDWR) == SOCKET_ERROR) + assert(fd != INVALID_SOCKET); + + // + // By default, on Windows we use a 128KB buffer size. On Unix + // platforms, we use the system defaults. + // +#ifdef _WIN32 + const int dfltBufSize = 128 * 1024; +#else + const int dfltBufSize = 0; +#endif + Int sizeRequested; + + sizeRequested = properties->getPropertyAsIntWithDefault("Ice.TCP.RcvSize", dfltBufSize); + if(sizeRequested > 0) { // - // Ignore errors indicating that we are shutdown already. - // -#if defined(_WIN32) - int error = WSAGetLastError(); - // - // Under Vista its possible to get a WSAECONNRESET. See - // http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=1739 for - // some details. + // Try to set the buffer size. The kernel will silently adjust + // the size to an acceptable value. Then read the size back to + // get the size that was actually set. // - if(error == WSAENOTCONN || error == WSAECONNRESET) - { - return; - } -#elif defined(__APPLE__) || defined(__FreeBSD__) - if(errno == ENOTCONN || errno == EINVAL) + setRecvBufferSize(fd, sizeRequested); + int size = getRecvBufferSize(fd); + if(size > 0 && size < sizeRequested) // Warn if the size that was set is less than the requested size. { - return; + Ice::Warning out(logger); + out << "TCP receive buffer size: requested size of " << sizeRequested << " adjusted to " << size; } -#else - if(errno == ENOTCONN) + } + + sizeRequested = properties->getPropertyAsIntWithDefault("Ice.TCP.SndSize", dfltBufSize); + if(sizeRequested > 0) + { + // + // Try to set the buffer size. The kernel will silently adjust + // the size to an acceptable value. Then read the size back to + // get the size that was actually set. + // + setSendBufferSize(fd, sizeRequested); + int size = getSendBufferSize(fd); + if(size > 0 && size < sizeRequested) // Warn if the size that was set is less than the requested size. { - return; + Ice::Warning out(logger); + out << "TCP send buffer size: requested size of " << sizeRequested << " adjusted to " << size; } -#endif - - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; } } void IceInternal::setBlock(SOCKET fd, bool block) { +#ifndef ICE_OS_WINRT if(block) { #ifdef _WIN32 @@ -861,37 +1342,13 @@ IceInternal::setBlock(SOCKET fd, bool block) } #endif } -} - -void -IceInternal::setTcpNoDelay(SOCKET fd) -{ - int flag = 1; - if(setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, int(sizeof(int))) == SOCKET_ERROR) - { - closeSocketNoThrow(fd); - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } -} - -void -IceInternal::setKeepAlive(SOCKET fd) -{ - int flag = 1; - if(setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (char*)&flag, int(sizeof(int))) == SOCKET_ERROR) - { - closeSocketNoThrow(fd); - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } +#endif } void IceInternal::setSendBufferSize(SOCKET fd, int sz) { +#ifndef ICE_OS_WINRT if(setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char*)&sz, int(sizeof(int))) == SOCKET_ERROR) { closeSocketNoThrow(fd); @@ -899,11 +1356,19 @@ IceInternal::setSendBufferSize(SOCKET fd, int sz) ex.error = getSocketErrno(); throw ex; } +#else + StreamSocket^ stream = dynamic_cast<StreamSocket^>(fd); + if(stream != nullptr) + { + stream->Control->OutboundBufferSizeInBytes = sz; + } +#endif } int IceInternal::getSendBufferSize(SOCKET fd) { +#ifndef ICE_OS_WINRT int sz; socklen_t len = sizeof(sz); if(getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char*)&sz, &len) == SOCKET_ERROR || @@ -915,11 +1380,20 @@ IceInternal::getSendBufferSize(SOCKET fd) throw ex; } return sz; +#else + StreamSocket^ stream = dynamic_cast<StreamSocket^>(fd); + if(stream != nullptr) + { + return stream->Control->OutboundBufferSizeInBytes; + } + return 0; // Not supported +#endif } void IceInternal::setRecvBufferSize(SOCKET fd, int sz) { +#ifndef ICE_OS_WINRT if(setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char*)&sz, int(sizeof(int))) == SOCKET_ERROR) { closeSocketNoThrow(fd); @@ -927,11 +1401,13 @@ IceInternal::setRecvBufferSize(SOCKET fd, int sz) ex.error = getSocketErrno(); throw ex; } +#endif } int IceInternal::getRecvBufferSize(SOCKET fd) { +#ifndef ICE_OS_WINRT int sz; socklen_t len = sizeof(sz); if(getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char*)&sz, &len) == SOCKET_ERROR || @@ -943,26 +1419,30 @@ IceInternal::getRecvBufferSize(SOCKET fd) throw ex; } return sz; +#else + return 0; // Not supported +#endif } void -IceInternal::setMcastGroup(SOCKET fd, const struct sockaddr_storage& group, const string& interface) +IceInternal::setMcastGroup(SOCKET fd, const Address& group, const string& intf) { +#ifndef ICE_OS_WINRT int rc; if(group.ss_family == AF_INET) { struct ip_mreq mreq; mreq.imr_multiaddr = reinterpret_cast<const struct sockaddr_in*>(&group)->sin_addr; mreq.imr_interface.s_addr = INADDR_ANY; - if(interface.size() > 0) + if(intf.size() > 0) { // // First see if it is the interface name. If not check if IP Address. // - mreq.imr_interface = getInterfaceAddress(interface); + mreq.imr_interface = getInterfaceAddress(intf); if(mreq.imr_interface.s_addr == INADDR_ANY) { - struct sockaddr_storage addr = getAddressForServer(interface, 0, EnableIPv4); + Address addr = getAddressForServer(intf, 0, EnableIPv4); mreq.imr_interface = reinterpret_cast<const struct sockaddr_in*>(&addr)->sin_addr; } } @@ -973,15 +1453,15 @@ IceInternal::setMcastGroup(SOCKET fd, const struct sockaddr_storage& group, cons struct ipv6_mreq mreq; mreq.ipv6mr_multiaddr = reinterpret_cast<const struct sockaddr_in6*>(&group)->sin6_addr; mreq.ipv6mr_interface = 0; - if(interface.size() != 0) + if(intf.size() != 0) { // // First check if it is the interface name. If not check if index. // - mreq.ipv6mr_interface = getInterfaceIndex(interface); + mreq.ipv6mr_interface = getInterfaceIndex(intf); if(mreq.ipv6mr_interface == 0) { - istringstream p(interface); + istringstream p(intf); if(!(p >> mreq.ipv6mr_interface) || !p.eof()) { closeSocketNoThrow(fd); @@ -1000,21 +1480,35 @@ IceInternal::setMcastGroup(SOCKET fd, const struct sockaddr_storage& group, cons ex.error = getSocketErrno(); throw ex; } +#else + try + { + // + // NOTE: WinRT doesn't allow specyfing the interface. + // + safe_cast<DatagramSocket^>(fd)->JoinMulticastGroup(group.host); + } + catch(Platform::Exception^ pex) + { + throw SocketException(__FILE__, __LINE__, (int)SocketError::GetStatus(pex->HResult)); + } +#endif } void -IceInternal::setMcastInterface(SOCKET fd, const string& interface, bool IPv4) +IceInternal::setMcastInterface(SOCKET fd, const string& intf, const Address& addr) { +#ifndef ICE_OS_WINRT int rc; - if(IPv4) + if(addr.ss_family == AF_INET) { // // First see if it is the interface name. If not check if IP Address. // - struct in_addr iface = getInterfaceAddress(interface); + struct in_addr iface = getInterfaceAddress(intf); if(iface.s_addr == INADDR_ANY) { - struct sockaddr_storage addr = getAddressForServer(interface, 0, EnableIPv4); + Address addr = getAddressForServer(intf, 0, EnableIPv4); iface = reinterpret_cast<const struct sockaddr_in*>(&addr)->sin_addr; } rc = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (char*)&iface, int(sizeof(iface))); @@ -1024,10 +1518,10 @@ IceInternal::setMcastInterface(SOCKET fd, const string& interface, bool IPv4) // // First check if it is the interface name. If not check if index. // - int interfaceNum = getInterfaceIndex(interface); + int interfaceNum = getInterfaceIndex(intf); if(interfaceNum == 0) { - istringstream p(interface); + istringstream p(intf); if(!(p >> interfaceNum) || !p.eof()) { closeSocketNoThrow(fd); @@ -1044,13 +1538,15 @@ IceInternal::setMcastInterface(SOCKET fd, const string& interface, bool IPv4) ex.error = getSocketErrno(); throw ex; } +#endif } void -IceInternal::setMcastTtl(SOCKET fd, int ttl, bool IPv4) +IceInternal::setMcastTtl(SOCKET fd, int ttl, const Address& addr) { +#ifndef ICE_OS_WINRT int rc; - if(IPv4) + if(addr.ss_family == AF_INET) { rc = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&ttl, int(sizeof(int))); } @@ -1065,11 +1561,13 @@ IceInternal::setMcastTtl(SOCKET fd, int ttl, bool IPv4) ex.error = getSocketErrno(); throw ex; } +#endif } void IceInternal::setReuseAddress(SOCKET fd, bool reuse) { +#ifndef ICE_OS_WINRT int flag = reuse ? 1 : 0; if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&flag, int(sizeof(int))) == SOCKET_ERROR) { @@ -1078,11 +1576,53 @@ IceInternal::setReuseAddress(SOCKET fd, bool reuse) ex.error = getSocketErrno(); throw ex; } +#endif } -struct sockaddr_storage -IceInternal::doBind(SOCKET fd, const struct sockaddr_storage& addr) +Address +IceInternal::doBind(SOCKET fd, const Address& addr) { +#ifdef ICE_OS_WINRT + Address local; + try + { + StreamSocketListener^ listener = dynamic_cast<StreamSocketListener^>(fd); + if(listener != nullptr) + { + if(addr.host == nullptr) // inaddr_any + { + concurrency::create_task(listener->BindServiceNameAsync(addr.port)).wait(); + } + else + { + concurrency::create_task(listener->BindEndpointAsync(addr.host, addr.port)).wait(); + } + local.host = addr.host; + local.port = listener->Information->LocalPort; + } + + DatagramSocket^ datagram = dynamic_cast<DatagramSocket^>(fd); + if(datagram != nullptr) + { + if(addr.host == nullptr) // inaddr_any + { + concurrency::create_task(datagram->BindServiceNameAsync(addr.port)).wait(); + } + else + { + concurrency::create_task(datagram->BindEndpointAsync(addr.host, addr.port)).wait(); + } + local.host = datagram->Information->LocalAddress; + local.port = datagram->Information->LocalPort; + } + } + catch(Platform::Exception^ pex) + { + closeSocketNoThrow(fd); + checkErrorCode(__FILE__, __LINE__, pex->HResult); + } + return local; +#else int size; if(addr.ss_family == AF_INET) { @@ -1106,7 +1646,7 @@ IceInternal::doBind(SOCKET fd, const struct sockaddr_storage& addr) throw ex; } - struct sockaddr_storage local; + Address local; socklen_t len = static_cast<socklen_t>(sizeof(local)); #ifdef NDEBUG getsockname(fd, reinterpret_cast<struct sockaddr*>(&local), &len); @@ -1115,6 +1655,166 @@ IceInternal::doBind(SOCKET fd, const struct sockaddr_storage& addr) assert(ret != SOCKET_ERROR); #endif return local; +#endif +} + +#ifndef ICE_OS_WINRT + +int +IceInternal::getSocketErrno() +{ +#if defined(_WIN32) + return WSAGetLastError(); +#else + return errno; +#endif +} + +bool +IceInternal::interrupted() +{ +#ifdef _WIN32 + return WSAGetLastError() == WSAEINTR; +#else +# ifdef EPROTO + return errno == EINTR || errno == EPROTO; +# else + return errno == EINTR; +# endif +#endif +} + +bool +IceInternal::acceptInterrupted() +{ + if(interrupted()) + { + return true; + } + +#ifdef _WIN32 + int error = WSAGetLastError(); + return error == WSAECONNABORTED || + error == WSAECONNRESET || + error == WSAETIMEDOUT; +#else + return errno == ECONNABORTED || + errno == ECONNRESET || + errno == ETIMEDOUT; +#endif +} + +bool +IceInternal::noBuffers() +{ +#ifdef _WIN32 + int error = WSAGetLastError(); + return error == WSAENOBUFS || + error == WSAEFAULT; +#else + return errno == ENOBUFS; +#endif +} + +bool +IceInternal::wouldBlock() +{ +#ifdef _WIN32 + int error = WSAGetLastError(); + return error == WSAEWOULDBLOCK || error == WSA_IO_PENDING || error == ERROR_IO_PENDING; +#else + return errno == EAGAIN || errno == EWOULDBLOCK; +#endif +} + +bool +IceInternal::connectFailed() +{ +#if defined(_WIN32) + int error = WSAGetLastError(); + return error == WSAECONNREFUSED || + error == WSAETIMEDOUT || + error == WSAENETUNREACH || + error == WSAEHOSTUNREACH || + error == WSAECONNRESET || + error == WSAESHUTDOWN || + error == WSAECONNABORTED; +#else + return errno == ECONNREFUSED || + errno == ETIMEDOUT || + errno == ENETUNREACH || + errno == EHOSTUNREACH || + errno == ECONNRESET || + errno == ESHUTDOWN || + errno == ECONNABORTED; +#endif +} + +bool +IceInternal::connectionRefused() +{ +#if defined(_WIN32) + int error = WSAGetLastError(); + return error == WSAECONNREFUSED || error == ERROR_CONNECTION_REFUSED; +#else + return errno == ECONNREFUSED; +#endif +} + +bool +IceInternal::connectionLost() +{ +#ifdef _WIN32 + int error = WSAGetLastError(); + return error == WSAECONNRESET || + error == WSAESHUTDOWN || + error == WSAENOTCONN || +# ifdef ICE_USE_IOCP + error == ERROR_NETNAME_DELETED || +# endif + error == WSAECONNABORTED; +#else + return errno == ECONNRESET || + errno == ENOTCONN || + errno == ESHUTDOWN || + errno == ECONNABORTED || + errno == EPIPE; +#endif +} + +bool +IceInternal::connectInProgress() +{ +#ifdef _WIN32 + int error = WSAGetLastError(); + return error == WSAEWOULDBLOCK || error == WSA_IO_PENDING || error == ERROR_IO_PENDING; +#else + return errno == EINPROGRESS; +#endif +} + +bool +IceInternal::notConnected() +{ +#ifdef _WIN32 + return WSAGetLastError() == WSAENOTCONN; +#elif defined(__APPLE__) || defined(__FreeBSD__) + return errno == ENOTCONN || errno == EINVAL; +#else + return errno == ENOTCONN; +#endif +} + +bool +IceInternal::recvTruncated() +{ +#ifdef _WIN32 + int err = WSAGetLastError(); + return err == WSAEMSGSIZE || err == ERROR_MORE_DATA; +#else + // We don't get an error under Linux if a datagram is truncated. + return false; +#endif } void @@ -1136,7 +1836,7 @@ repeatListen: } bool -IceInternal::doConnect(SOCKET fd, const struct sockaddr_storage& addr) +IceInternal::doConnect(SOCKET fd, const Address& addr) { repeatConnect: int size; @@ -1193,7 +1893,7 @@ repeatConnect: // a server which was just deactivated if the client socket re-uses the same ephemeral // port as the server). // - struct sockaddr_storage localAddr; + Address localAddr; fdToLocalAddress(fd, localAddr); if(compareAddress(addr, localAddr) == 0) { @@ -1218,7 +1918,7 @@ IceInternal::doFinishConnect(SOCKET fd) // necessary, otherwise no error is reported through // getsockopt. // -#ifdef _WIN32 +#if defined(_WIN32) Sleep(0); #endif @@ -1230,10 +1930,10 @@ IceInternal::doFinishConnect(SOCKET fd) ex.error = getSocketErrno(); throw ex; } - + if(val > 0) { -#ifdef _WIN32 +#if defined(_WIN32) WSASetLastError(val); #else errno = val; @@ -1264,9 +1964,9 @@ IceInternal::doFinishConnect(SOCKET fd) // a server which was just deactivated if the client socket re-uses the same ephemeral // port as the server). // - struct sockaddr_storage localAddr; + Address localAddr; fdToLocalAddress(fd, localAddr); - struct sockaddr_storage remoteAddr; + Address remoteAddr; if(fdToRemoteAddress(fd, remoteAddr) && compareAddress(remoteAddr, localAddr) == 0) { ConnectionRefusedException ex(__FILE__, __LINE__); @@ -1276,141 +1976,6 @@ IceInternal::doFinishConnect(SOCKET fd) #endif } -#ifdef ICE_USE_IOCP -void -IceInternal::doConnectAsync(SOCKET fd, const struct sockaddr_storage& addr, AsyncInfo& info) -{ - // - // NOTE: It's the caller's responsability to close the socket upon - // failure to connect. The socket isn't closed by this method. - // - - struct sockaddr_storage bindAddr; - memset(&bindAddr, 0, sizeof(bindAddr)); - - int size; - if(addr.ss_family == AF_INET) - { - size = sizeof(sockaddr_in); - - struct sockaddr_in* addrin = reinterpret_cast<struct sockaddr_in*>(&bindAddr); - addrin->sin_family = AF_INET; - addrin->sin_port = htons(0); - addrin->sin_addr.s_addr = htonl(INADDR_ANY); - } - else if(addr.ss_family == AF_INET6) - { - size = sizeof(sockaddr_in6); - - struct sockaddr_in6* addrin = reinterpret_cast<struct sockaddr_in6*>(&bindAddr); - addrin->sin6_family = AF_INET6; - addrin->sin6_port = htons(0); - addrin->sin6_addr = in6addr_any; - } - else - { - assert(false); - size = 0; // Keep the compiler happy. - } - - if(bind(fd, reinterpret_cast<const struct sockaddr*>(&bindAddr), size) == SOCKET_ERROR) - { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - - LPFN_CONNECTEX ConnectEx = NULL; // a pointer to the 'ConnectEx()' function - GUID GuidConnectEx = WSAID_CONNECTEX; // The Guid - DWORD dwBytes; - if(WSAIoctl(fd, - SIO_GET_EXTENSION_FUNCTION_POINTER, - &GuidConnectEx, - sizeof(GuidConnectEx), - &ConnectEx, - sizeof(ConnectEx), - &dwBytes, - NULL, - NULL) == SOCKET_ERROR) - { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - - if(!ConnectEx(fd, reinterpret_cast<const struct sockaddr*>(&addr), size, 0, 0, 0, -#if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 - reinterpret_cast<LPOVERLAPPED>(&info) -#else - &info -#endif - )) - { - if(!connectInProgress()) - { - if(connectionRefused()) - { - ConnectionRefusedException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - else if(connectFailed()) - { - ConnectFailedException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - else - { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - } - } - -} - -void -IceInternal::doFinishConnectAsync(SOCKET fd, AsyncInfo& info) -{ - // - // NOTE: It's the caller's responsability to close the socket upon - // failure to connect. The socket isn't closed by this method. - // - - if(info.count == SOCKET_ERROR) - { - WSASetLastError(info.error); - if(connectionRefused()) - { - ConnectionRefusedException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - else if(connectFailed()) - { - ConnectFailedException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - else - { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - } - - if(setsockopt(fd, SOL_SOCKET, SO_UPDATE_CONNECT_CONTEXT, NULL, 0) == SOCKET_ERROR) - { - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } -} -#endif - SOCKET IceInternal::doAccept(SOCKET fd) { @@ -1438,212 +2003,16 @@ repeatAccept: return ret; } -struct sockaddr_storage -IceInternal::getAddressForServer(const string& host, int port, ProtocolSupport protocol) -{ - return getAddressImpl(host, port, protocol, true); -} - -struct sockaddr_storage -IceInternal::getAddress(const string& host, int port, ProtocolSupport protocol) -{ - return getAddressImpl(host, port, protocol, false); -} - -vector<struct sockaddr_storage> -IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol, bool blocking) -{ - vector<struct sockaddr_storage> result; - struct sockaddr_storage addr; - memset(&addr, 0, sizeof(struct sockaddr_storage)); - - // - // We don't use getaddrinfo when host is empty as it's not portable (some old Linux - // versions don't support it). - // - if(host.empty()) - { - if(protocol != EnableIPv4) - { - sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); - addrin6->sin6_family = AF_INET6; - addrin6->sin6_port = htons(port); - addrin6->sin6_addr = in6addr_loopback; - result.push_back(addr); - } - if(protocol != EnableIPv6) - { - sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); - addrin->sin_family = AF_INET; - addrin->sin_port = htons(port); - addrin->sin_addr.s_addr = htonl(INADDR_LOOPBACK); - result.push_back(addr); - } - return result; - } - - struct addrinfo* info = 0; - int retry = 5; - - struct addrinfo hints = { 0 }; - if(protocol == EnableIPv4) - { - hints.ai_family = PF_INET; - } - else if(protocol == EnableIPv6) - { - hints.ai_family = PF_INET6; - } - else - { - hints.ai_family = PF_UNSPEC; - } - - if(!blocking) - { - hints.ai_flags = AI_NUMERICHOST; - } - - int rs = 0; - do - { - rs = getaddrinfo(host.c_str(), 0, &hints, &info); - } - while(info == 0 && rs == EAI_AGAIN && --retry >= 0); - - // In theory, getaddrinfo should only return EAI_NONAME if AI_NUMERICHOST is specified and the host name - // is not a IP address. However on some platforms (e.g. Mac OS X 10.4.x) EAI_NODATA is also returned so - // we also check for it. -#ifdef EAI_NODATA - if(!blocking && (rs == EAI_NONAME || rs == EAI_NODATA)) -#else - if(!blocking && rs == EAI_NONAME) -#endif - { - return result; // Empty result indicates that a blocking lookup is necessary. - } - else if(rs != 0) - { - DNSException ex(__FILE__, __LINE__); - ex.error = rs; - ex.host = host; - throw ex; - } - - struct addrinfo* p; - for(p = info; p != NULL; p = p->ai_next) - { - memcpy(&addr, p->ai_addr, p->ai_addrlen); - if(p->ai_family == PF_INET) - { - struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); - addrin->sin_port = htons(port); - } - else if(p->ai_family == PF_INET6) - { - struct sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); - addrin6->sin6_port = htons(port); - } - - bool found = false; - for(unsigned int i = 0; i < result.size(); ++i) - { - if(compareAddress(result[i], addr) == 0) - { - found = true; - break; - } - } - if(!found) - { - result.push_back(addr); - } - } - - freeaddrinfo(info); - - if(result.size() == 0) - { - DNSException ex(__FILE__, __LINE__); - ex.host = host; - throw ex; - } - - return result; -} - -int -IceInternal::compareAddress(const struct sockaddr_storage& addr1, const struct sockaddr_storage& addr2) -{ - if(addr1.ss_family < addr2.ss_family) - { - return -1; - } - else if(addr2.ss_family < addr1.ss_family) - { - return 1; - } - - if(addr1.ss_family == AF_INET) - { - const struct sockaddr_in* addr1in = reinterpret_cast<const sockaddr_in*>(&addr1); - const struct sockaddr_in* addr2in = reinterpret_cast<const sockaddr_in*>(&addr2); - - if(addr1in->sin_port < addr2in->sin_port) - { - return -1; - } - else if(addr2in->sin_port < addr1in->sin_port) - { - return 1; - } - - if(addr1in->sin_addr.s_addr < addr2in->sin_addr.s_addr) - { - return -1; - } - else if(addr2in->sin_addr.s_addr < addr1in->sin_addr.s_addr) - { - return 1; - } - } - else - { - const struct sockaddr_in6* addr1in = reinterpret_cast<const sockaddr_in6*>(&addr1); - const struct sockaddr_in6* addr2in = reinterpret_cast<const sockaddr_in6*>(&addr2); - - if(addr1in->sin6_port < addr2in->sin6_port) - { - return -1; - } - else if(addr2in->sin6_port < addr1in->sin6_port) - { - return 1; - } - - int res = memcmp(&addr1in->sin6_addr, &addr2in->sin6_addr, sizeof(struct in6_addr)); - if(res < 0) - { - return -1; - } - else if(res > 0) - { - return 1; - } - } - - return 0; -} void IceInternal::createPipe(SOCKET fds[2]) { #ifdef _WIN32 - SOCKET fd = createSocket(false, AF_INET); + SOCKET fd = createSocketImpl(false, AF_INET); setBlock(fd, true); - struct sockaddr_storage addr; + Address addr; memset(&addr, 0, sizeof(addr)); struct sockaddr_in* addrin = reinterpret_cast<struct sockaddr_in*>(&addr); @@ -1656,7 +2025,7 @@ IceInternal::createPipe(SOCKET fds[2]) try { - fds[0] = createSocket(false, AF_INET); + fds[0] = createSocketImpl(false, AF_INET); } catch(...) { @@ -1739,290 +2108,204 @@ IceInternal::createPipe(SOCKET fds[2]) #endif } -#ifdef _WIN32 - -string -IceInternal::errorToStringDNS(int error) -{ - return IceUtilInternal::errorToString(error); -} - -#else +#else // ICE_OS_WINRT -string -IceInternal::errorToStringDNS(int error) -{ - return gai_strerror(error); -} - -#endif - -std::string -IceInternal::fdToString(SOCKET fd) +void +IceInternal::checkConnectErrorCode(const char* file, int line, HRESULT herr, HostName^ host) { - if(fd == INVALID_SOCKET) + SocketErrorStatus error = SocketError::GetStatus(herr); + if(error == SocketErrorStatus::ConnectionRefused) { - return "<closed>"; + ConnectionRefusedException ex(file, line); + ex.error = static_cast<int>(error); + throw ex; } - - struct sockaddr_storage localAddr; - fdToLocalAddress(fd, localAddr); - - struct sockaddr_storage remoteAddr; - bool peerConnected = fdToRemoteAddress(fd, remoteAddr); - - return addressesToString(localAddr, remoteAddr, peerConnected); -}; - -void -IceInternal::fdToAddressAndPort(SOCKET fd, string& localAddress, int& localPort, string& remoteAddress, int& remotePort) -{ - if(fd == INVALID_SOCKET) + else if(error == SocketErrorStatus::NetworkDroppedConnectionOnReset || + error == SocketErrorStatus::ConnectionTimedOut || + error == SocketErrorStatus::NetworkIsUnreachable || + error == SocketErrorStatus::UnreachableHost || + error == SocketErrorStatus::ConnectionResetByPeer || + error == SocketErrorStatus::SoftwareCausedConnectionAbort) { - localAddress.clear(); - remoteAddress.clear(); - localPort = -1; - remotePort = -1; - return; + ConnectFailedException ex(file, line); + ex.error = static_cast<int>(error); + throw ex; } - - struct sockaddr_storage localAddr; - fdToLocalAddress(fd, localAddr); - addrToAddressAndPort(localAddr, localAddress, localPort); - - struct sockaddr_storage remoteAddr; - if(fdToRemoteAddress(fd, remoteAddr)) + else if(error == SocketErrorStatus::HostNotFound) { - addrToAddressAndPort(remoteAddr, remoteAddress, remotePort); + DNSException ex(file, line); + ex.error = static_cast<int>(error); + ex.host = IceUtil::wstringToString(host->RawName->Data()); + throw ex; } else { - remoteAddress.clear(); - remotePort = -1; + SocketException ex(file, line); + ex.error = static_cast<int>(error); + throw ex; } } void -IceInternal::addrToAddressAndPort(const struct sockaddr_storage& addr, string& address, int& port) -{ - address = inetAddrToString(addr); - port = getPort(addr); -} - -std::string -IceInternal::addressesToString(const struct sockaddr_storage& localAddr, const struct sockaddr_storage& remoteAddr, - bool peerConnected) +IceInternal::checkErrorCode(const char* file, int line, HRESULT herr) { - ostringstream s; - s << "local address = " << addrToString(localAddr); - if(peerConnected) + SocketErrorStatus error = SocketError::GetStatus(herr); + if(error == SocketErrorStatus::NetworkDroppedConnectionOnReset || + error == SocketErrorStatus::SoftwareCausedConnectionAbort || + error == SocketErrorStatus::ConnectionResetByPeer) { - s << "\nremote address = " << addrToString(remoteAddr); + ConnectionLostException ex(file, line); + ex.error = static_cast<int>(error); + throw ex; } - else + else if(error == SocketErrorStatus::HostNotFound) { - s << "\nremote address = <not connected>"; + DNSException ex(file, line); + ex.error = static_cast<int>(error); + throw ex; } - return s.str(); -} - -void -IceInternal::fdToLocalAddress(SOCKET fd, struct sockaddr_storage& addr) -{ - socklen_t len = static_cast<socklen_t>(sizeof(struct sockaddr_storage)); - if(getsockname(fd, reinterpret_cast<struct sockaddr*>(&addr), &len) == SOCKET_ERROR) + else { - closeSocketNoThrow(fd); - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); + SocketException ex(file, line); + ex.error = static_cast<int>(error); throw ex; } } -bool -IceInternal::fdToRemoteAddress(SOCKET fd, struct sockaddr_storage& addr) -{ - socklen_t len = static_cast<socklen_t>(sizeof(struct sockaddr_storage)); - if(getpeername(fd, reinterpret_cast<struct sockaddr*>(&addr), &len) == SOCKET_ERROR) - { - if(notConnected()) - { - return false; - } - else - { - closeSocketNoThrow(fd); - SocketException ex(__FILE__, __LINE__); - ex.error = getSocketErrno(); - throw ex; - } - } - return true; -} +#endif -string -IceInternal::inetAddrToString(const struct sockaddr_storage& ss) +#if defined(ICE_USE_IOCP) +void +IceInternal::doConnectAsync(SOCKET fd, const Address& addr, AsyncInfo& info) { - int size = 0; - if(ss.ss_family == AF_INET) - { - size = sizeof(sockaddr_in); - } - else if(ss.ss_family == AF_INET6) - { - size = sizeof(sockaddr_in6); - } - else - { - return ""; - } - - char namebuf[1024]; - namebuf[0] = '\0'; - getnameinfo(reinterpret_cast<const struct sockaddr *>(&ss), size, namebuf, sizeof(namebuf), 0, 0, NI_NUMERICHOST); - return string(namebuf); -} + // + // NOTE: It's the caller's responsability to close the socket upon + // failure to connect. The socket isn't closed by this method. + // -string -IceInternal::addrToString(const struct sockaddr_storage& addr) -{ - ostringstream s; - string port; - s << inetAddrToString(addr) << ':' << getPort(addr); - return s.str(); -} + Address bindAddr; + memset(&bindAddr, 0, sizeof(bindAddr)); -bool -IceInternal::isMulticast(const struct sockaddr_storage& addr) -{ + int size; if(addr.ss_family == AF_INET) { - return IN_MULTICAST(ntohl(reinterpret_cast<const struct sockaddr_in*>(&addr)->sin_addr.s_addr)); - } - else if(addr.ss_family == AF_INET6) - { - return IN6_IS_ADDR_MULTICAST(&reinterpret_cast<const struct sockaddr_in6*>(&addr)->sin6_addr); - } - else - { - return false; - } -} + size = sizeof(sockaddr_in); -int -IceInternal::getPort(const struct sockaddr_storage& addr) -{ - if(addr.ss_family == AF_INET) - { - return ntohs(reinterpret_cast<const sockaddr_in*>(&addr)->sin_port); + struct sockaddr_in* addrin = reinterpret_cast<struct sockaddr_in*>(&bindAddr); + addrin->sin_family = AF_INET; + addrin->sin_port = htons(0); + addrin->sin_addr.s_addr = htonl(INADDR_ANY); } else if(addr.ss_family == AF_INET6) { - return ntohs(reinterpret_cast<const sockaddr_in6*>(&addr)->sin6_port); + size = sizeof(sockaddr_in6); + + struct sockaddr_in6* addrin = reinterpret_cast<struct sockaddr_in6*>(&bindAddr); + addrin->sin6_family = AF_INET6; + addrin->sin6_port = htons(0); + addrin->sin6_addr = in6addr_any; } else { - return -1; + assert(false); + size = 0; // Keep the compiler happy. } -} -void -IceInternal::setPort(struct sockaddr_storage& addr, int port) -{ - if(addr.ss_family == AF_INET) + if(bind(fd, reinterpret_cast<const struct sockaddr*>(&bindAddr), size) == SOCKET_ERROR) { - reinterpret_cast<sockaddr_in*>(&addr)->sin_port = htons(port); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } - else + + LPFN_CONNECTEX ConnectEx = NULL; // a pointer to the 'ConnectEx()' function + GUID GuidConnectEx = WSAID_CONNECTEX; // The Guid + DWORD dwBytes; + if(WSAIoctl(fd, + SIO_GET_EXTENSION_FUNCTION_POINTER, + &GuidConnectEx, + sizeof(GuidConnectEx), + &ConnectEx, + sizeof(ConnectEx), + &dwBytes, + NULL, + NULL) == SOCKET_ERROR) { - assert(addr.ss_family == AF_INET6); - reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port = htons(port); - } -} + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } -vector<string> -IceInternal::getHostsForEndpointExpand(const string& host, ProtocolSupport protocolSupport, bool includeLoopback) -{ - vector<string> hosts; - if(host.empty() || isWildcard(host, protocolSupport)) + if(!ConnectEx(fd, reinterpret_cast<const struct sockaddr*>(&addr), size, 0, 0, 0, +#if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 + reinterpret_cast<LPOVERLAPPED>(&info) +#else + &info +#endif + )) { - vector<struct sockaddr_storage> addrs = getLocalAddresses(protocolSupport); - for(vector<struct sockaddr_storage>::const_iterator p = addrs.begin(); p != addrs.end(); ++p) + if(!connectInProgress()) { - // - // NOTE: We don't publish link-local IPv6 addresses as these addresses can only - // be accessed in general with a scope-id. - // - if(p->ss_family != AF_INET6 || - !IN6_IS_ADDR_LINKLOCAL(&reinterpret_cast<const struct sockaddr_in6*>(&(*p))->sin6_addr)) + if(connectionRefused()) { - hosts.push_back(inetAddrToString(*p)); + ConnectionRefusedException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } - } - - if(hosts.empty() || includeLoopback) - { - if(protocolSupport != EnableIPv6) + else if(connectFailed()) { - hosts.push_back("127.0.0.1"); + ConnectFailedException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } - if(protocolSupport != EnableIPv4) + else { - hosts.push_back("0:0:0:0:0:0:0:1"); + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } } } - return hosts; // An empty host list indicates to just use the given host. } void -IceInternal::setTcpBufSize(SOCKET fd, const Ice::PropertiesPtr& properties, const Ice::LoggerPtr& logger) +IceInternal::doFinishConnectAsync(SOCKET fd, AsyncInfo& info) { - assert(fd != INVALID_SOCKET); - // - // By default, on Windows we use a 128KB buffer size. On Unix - // platforms, we use the system defaults. + // NOTE: It's the caller's responsability to close the socket upon + // failure to connect. The socket isn't closed by this method. // -#ifdef _WIN32 - const int dfltBufSize = 128 * 1024; -#else - const int dfltBufSize = 0; -#endif - Int sizeRequested; - sizeRequested = properties->getPropertyAsIntWithDefault("Ice.TCP.RcvSize", dfltBufSize); - if(sizeRequested > 0) + if(info.count == SOCKET_ERROR) { - // - // Try to set the buffer size. The kernel will silently adjust - // the size to an acceptable value. Then read the size back to - // get the size that was actually set. - // - setRecvBufferSize(fd, sizeRequested); - int size = getRecvBufferSize(fd); - if(size < sizeRequested) // Warn if the size that was set is less than the requested size. + WSASetLastError(info.error); + if(connectionRefused()) { - Ice::Warning out(logger); - out << "TCP receive buffer size: requested size of " << sizeRequested << " adjusted to " << size; + ConnectionRefusedException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + else if(connectFailed()) + { + ConnectFailedException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; + } + else + { + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } } - sizeRequested = properties->getPropertyAsIntWithDefault("Ice.TCP.SndSize", dfltBufSize); - if(sizeRequested > 0) + if(setsockopt(fd, SOL_SOCKET, SO_UPDATE_CONNECT_CONTEXT, NULL, 0) == SOCKET_ERROR) { - // - // Try to set the buffer size. The kernel will silently adjust - // the size to an acceptable value. Then read the size back to - // get the size that was actually set. - // - setSendBufferSize(fd, sizeRequested); - int size = getSendBufferSize(fd); - if(size < sizeRequested) // Warn if the size that was set is less than the requested size. - { - Ice::Warning out(logger); - out << "TCP send buffer size: requested size of " << sizeRequested << " adjusted to " << size; - } + SocketException ex(__FILE__, __LINE__); + ex.error = getSocketErrno(); + throw ex; } } +#endif + diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h index 8e5ca6eda68..66c700dbf23 100644 --- a/cpp/src/Ice/Network.h +++ b/cpp/src/Ice/Network.h @@ -15,11 +15,14 @@ #endif #include <Ice/Config.h> + #include <Ice/PropertiesF.h> // For setTcpBufSize #include <Ice/LoggerF.h> // For setTcpBufSize #include <Ice/Protocol.h> -#ifdef _WIN32 +#ifdef ICE_OS_WINRT +# include <Ice/EventHandlerF.h> +#elif defined(_WIN32) # include <winsock2.h> # include <ws2tcpip.h> typedef int ssize_t; @@ -39,7 +42,8 @@ typedef int ssize_t; #elif (defined(__APPLE__) || defined(__FreeBSD__)) && !defined(ICE_NO_KQUEUE) # define ICE_USE_KQUEUE 1 #elif defined(_WIN32) -# if !defined(ICE_NO_IOCP) +# if defined(ICE_OS_WINRT) +# elif !defined(ICE_NO_IOCP) # define ICE_USE_IOCP 1 # else # define ICE_USE_SELECT 1 @@ -52,10 +56,14 @@ typedef int ssize_t; typedef int socklen_t; #endif -#ifndef _WIN32 +#if !defined(_WIN32) # define SOCKET int -# define SOCKET_ERROR -1 # define INVALID_SOCKET -1 +# define SOCKET_ERROR -1 +#elif defined(ICE_OS_WINRT) + typedef Platform::Object^ SOCKET; +# define INVALID_SOCKET nullptr +# define SOCKET_ERROR -1 #endif #ifndef SHUT_RD @@ -81,6 +89,19 @@ typedef int socklen_t; namespace IceInternal { +// +// Use Address typedef/struct depending on the platform +// +#ifdef ICE_OS_WINRT +struct ICE_API Address +{ + Windows::Networking::HostName^ host; + Platform::String^ port; +}; +#else +typedef struct sockaddr_storage Address; +#endif + enum SocketOperation { SocketOperationNone = 0, @@ -89,8 +110,11 @@ enum SocketOperation SocketOperationConnect = 2 }; -#ifdef ICE_USE_IOCP - +// +// AsyncInfo struct for Windows IOCP or WinRT holds the result of +// asynchronous operations after it completed. +// +#if defined(ICE_USE_IOCP) struct ICE_API AsyncInfo : WSAOVERLAPPED { AsyncInfo(SocketOperation); @@ -101,8 +125,15 @@ struct ICE_API AsyncInfo : WSAOVERLAPPED DWORD count; int error; }; - -#endif +#elif defined(ICE_OS_WINRT) +struct ICE_API AsyncInfo +{ + int count; + int error; +}; + +public delegate void SocketOperationCompletedHandler(int); +#endif class ICE_API NativeInfo : virtual public IceUtil::Shared { @@ -117,11 +148,13 @@ public: return _fd; } -#ifdef ICE_USE_IOCP // // This is implemented by transceiver and acceptor implementations. // +#if defined(ICE_USE_IOCP) virtual AsyncInfo* getAsyncInfo(SocketOperation) = 0; +#elif defined(ICE_OS_WINRT) + virtual void setCompletedHandler(SocketOperationCompletedHandler^) = 0; #endif protected: @@ -130,73 +163,79 @@ protected: }; typedef IceUtil::Handle<NativeInfo> NativeInfoPtr; -ICE_API bool interrupted(); -ICE_API bool acceptInterrupted(); -ICE_API bool noBuffers(); -ICE_API bool wouldBlock(); -ICE_API bool connectFailed(); -ICE_API bool connectionRefused(); -ICE_API bool connectInProgress(); -ICE_API bool connectionLost(); -ICE_API bool notConnected(); -ICE_API bool recvTruncated(); ICE_API bool noMoreFds(int); +ICE_API std::string errorToStringDNS(int); +ICE_API std::vector<Address> getAddresses(const std::string&, int, ProtocolSupport, bool); +ICE_API ProtocolSupport getProtocolSupport(const Address&); +ICE_API Address getAddressForServer(const std::string&, int, ProtocolSupport); +ICE_API Address getAddress(const std::string&, int, ProtocolSupport); +ICE_API int compareAddress(const Address&, const Address&); -ICE_API SOCKET createSocket(bool, int); -ICE_API void closeSocket(SOCKET); +ICE_API SOCKET createSocket(bool, const Address&); ICE_API void closeSocketNoThrow(SOCKET); -ICE_API void shutdownSocketWrite(SOCKET); -ICE_API void shutdownSocketReadWrite(SOCKET); +ICE_API void closeSocket(SOCKET); + +ICE_API std::string addrToString(const Address&); +ICE_API void fdToLocalAddress(SOCKET, Address&); +ICE_API bool fdToRemoteAddress(SOCKET, Address&); +ICE_API std::string fdToString(SOCKET); +ICE_API void fdToAddressAndPort(SOCKET, std::string&, int&, std::string&, int&); +ICE_API void addrToAddressAndPort(const Address&, std::string&, int&); +ICE_API std::string addressesToString(const Address&, const Address&, bool); +ICE_API bool isAddressValid(const Address&); + +ICE_API std::vector<std::string> getHostsForEndpointExpand(const std::string&, ProtocolSupport, bool); + +ICE_API std::string inetAddrToString(const Address&); +ICE_API int getPort(const Address&); +ICE_API void setPort(Address&, int); + +ICE_API bool isMulticast(const Address&); +ICE_API void setTcpBufSize(SOCKET, const Ice::PropertiesPtr&, const Ice::LoggerPtr&); ICE_API void setBlock(SOCKET, bool); -ICE_API void setTcpNoDelay(SOCKET); -ICE_API void setKeepAlive(SOCKET); ICE_API void setSendBufferSize(SOCKET, int); ICE_API int getSendBufferSize(SOCKET); ICE_API void setRecvBufferSize(SOCKET, int); ICE_API int getRecvBufferSize(SOCKET); -ICE_API void setMcastGroup(SOCKET, const struct sockaddr_storage&, const std::string&); -ICE_API void setMcastInterface(SOCKET, const std::string&, bool); -ICE_API void setMcastTtl(SOCKET, int, bool); + +ICE_API void setMcastGroup(SOCKET, const Address&, const std::string&); +ICE_API void setMcastInterface(SOCKET, const std::string&, const Address&); +ICE_API void setMcastTtl(SOCKET, int, const Address&); ICE_API void setReuseAddress(SOCKET, bool); -ICE_API struct sockaddr_storage doBind(SOCKET, const struct sockaddr_storage&); +ICE_API Address doBind(SOCKET, const Address&); + +#ifndef ICE_OS_WINRT +ICE_API bool interrupted(); +ICE_API bool acceptInterrupted(); +ICE_API bool noBuffers(); +ICE_API bool wouldBlock(); +ICE_API bool notConnected(); +ICE_API bool recvTruncated(); + +ICE_API bool connectFailed(); +ICE_API bool connectionRefused(); +ICE_API bool connectInProgress(); +ICE_API bool connectionLost(); + ICE_API void doListen(SOCKET, int); -ICE_API bool doConnect(SOCKET, const struct sockaddr_storage&); +ICE_API bool doConnect(SOCKET, const Address&); ICE_API void doFinishConnect(SOCKET); -#ifdef ICE_USE_IOCP -ICE_API void doConnectAsync(SOCKET, const struct sockaddr_storage&, AsyncInfo&); -ICE_API void doFinishConnectAsync(SOCKET, AsyncInfo&); -#endif ICE_API SOCKET doAccept(SOCKET); -ICE_API struct sockaddr_storage getAddressForServer(const std::string&, int, ProtocolSupport); -ICE_API struct sockaddr_storage getAddress(const std::string&, int, ProtocolSupport); -ICE_API std::vector<struct sockaddr_storage> getAddresses(const std::string&, int, ProtocolSupport, bool); - -ICE_API int compareAddress(const struct sockaddr_storage&, const struct sockaddr_storage&); - ICE_API void createPipe(SOCKET fds[2]); -ICE_API std::string errorToStringDNS(int); - -ICE_API std::string fdToString(SOCKET); -ICE_API void fdToAddressAndPort(SOCKET, std::string&, int&, std::string&, int&); -ICE_API void addrToAddressAndPort(const struct sockaddr_storage&, std::string&, int&); -ICE_API std::string addressesToString(const struct sockaddr_storage&, const struct sockaddr_storage&, bool); -ICE_API void fdToLocalAddress(SOCKET, struct sockaddr_storage&); -ICE_API bool fdToRemoteAddress(SOCKET, struct sockaddr_storage&); -ICE_API std::string inetAddrToString(const struct sockaddr_storage&); -ICE_API std::string addrToString(const struct sockaddr_storage&); -ICE_API bool isMulticast(const struct sockaddr_storage&); -ICE_API int getPort(const struct sockaddr_storage&); -ICE_API void setPort(struct sockaddr_storage&, int); - -ICE_API std::vector<std::string> getHostsForEndpointExpand(const std::string&, ProtocolSupport, bool); -ICE_API void setTcpBufSize(SOCKET, const Ice::PropertiesPtr&, const Ice::LoggerPtr&); - ICE_API int getSocketErrno(); +#else +ICE_API void checkConnectErrorCode(const char*, int, HRESULT, Windows::Networking::HostName^); +ICE_API void checkErrorCode(const char*, int, HRESULT); +#endif +#if defined(ICE_USE_IOCP) +ICE_API void doConnectAsync(SOCKET, const Address&, AsyncInfo&); +ICE_API void doFinishConnectAsync(SOCKET, AsyncInfo&); +#endif } #endif diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp index 271696ff28d..fb2ca88bdb5 100644 --- a/cpp/src/Ice/PropertiesI.cpp +++ b/cpp/src/Ice/PropertiesI.cpp @@ -7,10 +7,10 @@ // // ********************************************************************** +#include <Ice/PropertiesI.h> #include <IceUtil/DisableWarnings.h> #include <IceUtil/StringUtil.h> #include <IceUtil/FileUtil.h> -#include <Ice/PropertiesI.h> #include <Ice/Initialize.h> #include <Ice/LocalException.h> #include <Ice/PropertyNames.h> @@ -285,7 +285,10 @@ Ice::PropertiesI::parseIceCommandLineOptions(const StringSeq& options) void Ice::PropertiesI::load(const std::string& file) { -#ifdef _WIN32 +// +// Metro style applications cannot access Windows registry. +// +#if defined (_WIN32) && !defined(ICE_OS_WINRT) if(file.find("HKLM\\") == 0) { HKEY iceKey; @@ -700,9 +703,12 @@ void Ice::PropertiesI::loadConfig() { string value = getProperty("Ice.Config"); +#ifndef ICE_OS_WINRT + // + // WinRT cannot access environment variables if(value.empty() || value == "1") { -#ifdef _WIN32 +# ifdef _WIN32 vector<wchar_t> v(256); DWORD ret = GetEnvironmentVariableW(L"ICE_CONFIG", &v[0], static_cast<DWORD>(v.size())); if(ret >= v.size()) @@ -718,14 +724,15 @@ Ice::PropertiesI::loadConfig() { value = ""; } -#else +# else const char* s = getenv("ICE_CONFIG"); if(s && *s != '\0') { value = s; } -#endif +# endif } +#endif if(!value.empty()) { diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp index 340dffdfa1a..aadf85a1114 100644 --- a/cpp/src/Ice/Selector.cpp +++ b/cpp/src/Ice/Selector.cpp @@ -12,11 +12,97 @@ #include <Ice/Instance.h> #include <Ice/LoggerUtil.h> #include <Ice/LocalException.h> +#include <IceUtil/Time.h> using namespace std; using namespace IceInternal; -#if defined(ICE_USE_IOCP) +#ifdef ICE_OS_WINRT +using namespace Windows::Foundation; +using namespace Windows::Storage::Streams; +using namespace Windows::Networking; +using namespace Windows::Networking::Sockets; + +Selector::Selector(const InstancePtr& instance) : _instance(instance) +{ +} + +void +Selector::destroy() +{ +} + +void +Selector::initialize(IceInternal::EventHandler* handler) +{ + handler->__incRef(); + handler->getNativeInfo()->setCompletedHandler( + ref new SocketOperationCompletedHandler([=](int operation) + { + completed(handler, static_cast<SocketOperation>(operation)); + })); +} + +void +Selector::update(IceInternal::EventHandler* handler, SocketOperation remove, SocketOperation add) +{ + handler->_registered = static_cast<SocketOperation>(handler->_registered & ~remove); + handler->_registered = static_cast<SocketOperation>(handler->_registered | add); + if(add & SocketOperationRead && !(handler->_pending & SocketOperationRead)) + { + handler->_pending = static_cast<SocketOperation>(handler->_pending | SocketOperationRead); + completed(handler, SocketOperationRead); // Start an asynchrnous read + } + else if(add & SocketOperationWrite && !(handler->_pending & SocketOperationWrite)) + { + handler->_pending = static_cast<SocketOperation>(handler->_pending | SocketOperationWrite); + completed(handler, SocketOperationWrite); // Start an asynchrnous write + } +} + +void +Selector::finish(IceInternal::EventHandler* handler) +{ + handler->_registered = SocketOperationNone; + handler->__decRef(); +} + +IceInternal::EventHandler* +Selector::getNextHandler(SocketOperation& status, int timeout) +{ + Lock lock(*this); + while(_events.empty()) + { + if(timeout > 0) + { + timedWait(IceUtil::Time::seconds(timeout)); + if(_events.empty()) + { + throw SelectorTimeoutException(); + } + } + else + { + wait(); + } + } + assert(!_events.empty()); + IceInternal::EventHandler* handler = _events.front().handler; + status = _events.front().status; + _events.pop_front(); + return handler; +} + +void +Selector::completed(IceInternal::EventHandler* handler, SocketOperation op) +{ + Lock lock(*this); + _events.push_back(SelectEvent(handler, op)); + notify(); +} + +#elif defined(ICE_USE_IOCP) + Selector::Selector(const InstancePtr& instance) : _instance(instance) { } @@ -482,6 +568,7 @@ Selector::~Selector() void Selector::destroy() { + assert(_events.empty()); } void diff --git a/cpp/src/Ice/Selector.h b/cpp/src/Ice/Selector.h index 4c8b276abac..4ba45a9e4f3 100644 --- a/cpp/src/Ice/Selector.h +++ b/cpp/src/Ice/Selector.h @@ -26,6 +26,10 @@ # include <sys/poll.h> #endif +#if defined(ICE_OS_WINRT) +# include <deque> +#endif + namespace IceInternal { @@ -36,7 +40,41 @@ class SelectorTimeoutException { }; -#ifdef ICE_USE_IOCP +#if defined(ICE_OS_WINRT) + +struct SelectEvent +{ + SelectEvent(IceInternal::EventHandler* handler, SocketOperation status) : handler(handler), status(status) + { + } + + IceInternal::EventHandler* handler; + SocketOperation status; +}; + +class Selector : IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + Selector(const InstancePtr&); + + void destroy(); + + void initialize(IceInternal::EventHandler*); + void update(IceInternal::EventHandler*, SocketOperation, SocketOperation); + void finish(IceInternal::EventHandler*); + + IceInternal::EventHandler* getNextHandler(SocketOperation&, int); + + void completed(IceInternal::EventHandler*, SocketOperation); + +private: + + const InstancePtr _instance; + std::deque<SelectEvent> _events; +}; + +#elif defined(ICE_USE_IOCP) class Selector { diff --git a/cpp/src/Ice/TcpAcceptor.cpp b/cpp/src/Ice/TcpAcceptor.cpp index 27a59ef47ad..0fc4fbc710c 100644 --- a/cpp/src/Ice/TcpAcceptor.cpp +++ b/cpp/src/Ice/TcpAcceptor.cpp @@ -12,7 +12,6 @@ #include <Ice/Instance.h> #include <Ice/TraceLevels.h> #include <Ice/LoggerUtil.h> -#include <Ice/Network.h> #include <Ice/Exception.h> #include <Ice/Properties.h> #include <IceUtil/StringUtil.h> @@ -66,7 +65,7 @@ IceInternal::TcpAcceptor::listen() _fd = INVALID_SOCKET; throw; } - + if(_traceLevels->network >= 1) { Trace out(_logger, _traceLevels->networkCat); @@ -105,7 +104,7 @@ IceInternal::TcpAcceptor::startAccept() } assert(_acceptFd == INVALID_SOCKET); - _acceptFd = createSocket(false, _addr.ss_family); + _acceptFd = createSocket(false, _addr); const int sz = static_cast<int>(_acceptBuf.size() / 2); if(!AcceptEx(_fd, _acceptFd, &_acceptBuf[0], 0, sz, sz, &_info.count, #if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 @@ -134,22 +133,19 @@ IceInternal::TcpAcceptor::finishAccept() _acceptError = _info.error; } } + #endif TransceiverPtr IceInternal::TcpAcceptor::accept() { - SOCKET fd; -#ifndef ICE_USE_IOCP - fd = doAccept(_fd); -#else +#ifdef ICE_USE_IOCP if(_acceptFd == INVALID_SOCKET) { SocketException ex(__FILE__, __LINE__); ex.error = _acceptError; throw ex; } - if(setsockopt(_acceptFd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (char*)&_acceptFd, sizeof(_acceptFd)) == SOCKET_ERROR) { @@ -160,9 +156,12 @@ IceInternal::TcpAcceptor::accept() throw ex; } - fd = _acceptFd; + SOCKET fd = _acceptFd; _acceptFd = INVALID_SOCKET; +#else + SOCKET fd = doAccept(_fd); #endif + if(_traceLevels->network >= 1) { Trace out(_logger, _traceLevels->networkCat); @@ -183,7 +182,8 @@ IceInternal::TcpAcceptor::effectivePort() const return getPort(_addr); } -IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const string& host, int port, ProtocolSupport protocol) : +IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const string& host, int port, + ProtocolSupport protocol) : _instance(instance), _traceLevels(instance->traceLevels()), _logger(instance->initializationData().logger), @@ -199,10 +199,13 @@ IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const string& _backlog = instance->initializationData().properties->getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); #endif - _fd = createSocket(false, _addr.ss_family); + + _fd = createSocket(false, _addr); + #ifdef ICE_USE_IOCP _acceptBuf.resize((sizeof(sockaddr_storage) + 16) * 2); #endif + setBlock(_fd, false); setTcpBufSize(_fd, _instance->initializationData().properties, _logger); #ifndef _WIN32 @@ -220,12 +223,13 @@ IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const string& // setReuseAddress(_fd, true); #endif + if(_traceLevels->network >= 2) { Trace out(_logger, _traceLevels->networkCat); out << "attempting to bind to tcp socket " << toString(); } - const_cast<struct sockaddr_storage&>(_addr) = doBind(_fd, _addr); + const_cast<Address&>(_addr) = doBind(_fd, _addr); } IceInternal::TcpAcceptor::~TcpAcceptor() @@ -235,3 +239,4 @@ IceInternal::TcpAcceptor::~TcpAcceptor() assert(_acceptFd == INVALID_SOCKET); #endif } + diff --git a/cpp/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h index 6d95d13f208..c54ae4dbb27 100644 --- a/cpp/src/Ice/TcpAcceptor.h +++ b/cpp/src/Ice/TcpAcceptor.h @@ -15,10 +15,7 @@ #include <Ice/TraceLevelsF.h> #include <Ice/LoggerF.h> #include <Ice/Acceptor.h> - -#ifndef _WIN32 -# include <sys/socket.h> // For struct sockaddr_storage -#endif +#include <Ice/Network.h> namespace IceInternal { @@ -40,6 +37,7 @@ public: virtual void startAccept(); virtual void finishAccept(); #endif + virtual TransceiverPtr accept(); virtual std::string toString() const; @@ -54,7 +52,7 @@ private: const InstancePtr _instance; const TraceLevelsPtr _traceLevels; const ::Ice::LoggerPtr _logger; - const struct sockaddr_storage _addr; + const Address _addr; int _backlog; #ifdef ICE_USE_IOCP @@ -66,5 +64,5 @@ private: }; } - #endif + diff --git a/cpp/src/Ice/TcpConnector.cpp b/cpp/src/Ice/TcpConnector.cpp index e349fac992e..673a5d3e1ed 100644 --- a/cpp/src/Ice/TcpConnector.cpp +++ b/cpp/src/Ice/TcpConnector.cpp @@ -31,7 +31,7 @@ IceInternal::TcpConnector::connect() try { - TransceiverPtr transceiver = new TcpTransceiver(_instance, createSocket(false, _addr.ss_family), false); + TransceiverPtr transceiver = new TcpTransceiver(_instance, createSocket(false, _addr), false); dynamic_cast<TcpTransceiver*>(transceiver.get())->connect(_addr); return transceiver; } @@ -71,7 +71,7 @@ IceInternal::TcpConnector::operator==(const Connector& r) const { return false; } - + if(_timeout != p->_timeout) { return false; @@ -117,11 +117,11 @@ IceInternal::TcpConnector::operator<(const Connector& r) const { return false; } - return compareAddress(_addr, p->_addr) == -1; + return compareAddress(_addr, p->_addr) < 0; } -IceInternal::TcpConnector::TcpConnector(const InstancePtr& instance, const struct sockaddr_storage& addr, - Ice::Int timeout, const string& connectionId) : +IceInternal::TcpConnector::TcpConnector(const InstancePtr& instance, const Address& addr, Ice::Int timeout, + const string& connectionId) : _instance(instance), _traceLevels(instance->traceLevels()), _logger(instance->initializationData().logger), diff --git a/cpp/src/Ice/TcpConnector.h b/cpp/src/Ice/TcpConnector.h index f7039a146b2..3b6862cc13b 100644 --- a/cpp/src/Ice/TcpConnector.h +++ b/cpp/src/Ice/TcpConnector.h @@ -15,12 +15,7 @@ #include <Ice/TraceLevelsF.h> #include <Ice/LoggerF.h> #include <Ice/Connector.h> - -#ifdef _WIN32 -# include <winsock2.h> -#else -# include <sys/socket.h> -#endif +#include <Ice/Network.h> namespace IceInternal { @@ -39,15 +34,15 @@ public: virtual bool operator<(const Connector&) const; private: - - TcpConnector(const InstancePtr&, const struct sockaddr_storage&, Ice::Int, const std::string&); + + TcpConnector(const InstancePtr&, const Address&, Ice::Int, const std::string&); virtual ~TcpConnector(); friend class TcpEndpointI; const InstancePtr _instance; const TraceLevelsPtr _traceLevels; const ::Ice::LoggerPtr _logger; - const struct sockaddr_storage _addr; + const Address _addr; const Ice::Int _timeout; const std::string _connectionId; }; diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp index e71f089b4b3..7c8f94c231e 100644 --- a/cpp/src/Ice/TcpEndpointI.cpp +++ b/cpp/src/Ice/TcpEndpointI.cpp @@ -526,9 +526,9 @@ IceInternal::TcpEndpointI::hashInit() const hashAdd(h, _compress); return h; } - + vector<ConnectorPtr> -IceInternal::TcpEndpointI::connectors(const vector<struct sockaddr_storage>& addresses) const +IceInternal::TcpEndpointI::connectors(const vector<Address>& addresses) const { vector<ConnectorPtr> connectors; for(unsigned int i = 0; i < addresses.size(); ++i) diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h index d380e8994fd..96c0e6a94e1 100644 --- a/cpp/src/Ice/TcpEndpointI.h +++ b/cpp/src/Ice/TcpEndpointI.h @@ -10,8 +10,10 @@ #ifndef ICE_TCP_ENDPOINT_I_H #define ICE_TCP_ENDPOINT_I_H +#include <IceUtil/Config.h> #include <Ice/EndpointI.h> #include <Ice/EndpointFactory.h> +#include <Ice/Network.h> // for IceIternal::Address namespace IceInternal { @@ -48,7 +50,7 @@ public: private: virtual ::Ice::Int hashInit() const; - virtual std::vector<ConnectorPtr> connectors(const std::vector<struct sockaddr_storage>&) const; + virtual std::vector<ConnectorPtr> connectors(const std::vector<IceInternal::Address>&) const; // // All members are const, because endpoints are immutable. diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp index 6bb2794b7f1..3d59ae68bf1 100644 --- a/cpp/src/Ice/TcpTransceiver.cpp +++ b/cpp/src/Ice/TcpTransceiver.cpp @@ -14,7 +14,6 @@ #include <Ice/LoggerUtil.h> #include <Ice/Stats.h> #include <Ice/Buffer.h> -#include <Ice/Network.h> #include <Ice/LocalException.h> using namespace std; @@ -56,10 +55,10 @@ IceInternal::TcpTransceiver::initialize() { try { -#ifndef ICE_USE_IOCP - doFinishConnect(_fd); -#else +#if defined(ICE_USE_IOCP) doFinishConnectAsync(_fd, _write); +#else + doFinishConnect(_fd); #endif _state = StateConnected; _desc = fdToString(_fd); @@ -70,11 +69,11 @@ IceInternal::TcpTransceiver::initialize() { Trace out(_logger, _traceLevels->networkCat); out << "failed to establish tcp connection\n"; -#ifndef _WIN32 +#if !defined(_WIN32) // // The local address is only accessible with connected sockets on Windows. // - struct sockaddr_storage localAddr; + Address localAddr; fdToLocalAddress(_fd, localAddr); out << "local address: " << addrToString(localAddr) << "\n"; #else @@ -122,8 +121,7 @@ IceInternal::TcpTransceiver::write(Buffer& buf) { // Its impossible for the packetSize to be more than an Int. int packetSize = static_cast<int>(buf.b.end() - buf.i); - -#ifdef ICE_USE_IOCP +# ifdef ICE_USE_IOCP // // Limit packet size to avoid performance problems on WIN32 // @@ -131,8 +129,7 @@ IceInternal::TcpTransceiver::write(Buffer& buf) { packetSize = _maxSendPacketSize; } -#endif - +# endif while(buf.i != buf.b.end()) { assert(_fd != INVALID_SOCKET); @@ -195,7 +192,6 @@ IceInternal::TcpTransceiver::write(Buffer& buf) packetSize = static_cast<int>(buf.b.end() - buf.i); } } - return true; } @@ -204,7 +200,6 @@ IceInternal::TcpTransceiver::read(Buffer& buf) { // Its impossible for the packetSize to be more than an Int. int packetSize = static_cast<int>(buf.b.end() - buf.i); - while(buf.i != buf.b.end()) { assert(_fd != INVALID_SOCKET); @@ -212,17 +207,6 @@ IceInternal::TcpTransceiver::read(Buffer& buf) if(ret == 0) { - // - // If the connection is lost when reading data, we shut - // down the write end of the socket. This helps to unblock - // threads that are stuck in send() or select() while - // sending data. Note: I don't really understand why - // send() or select() sometimes don't detect a connection - // loss. Therefore this helper to make them detect it. - // - //assert(_fd != INVALID_SOCKET); - //shutdownSocketReadWrite(_fd); - ConnectionLostException ex(__FILE__, __LINE__); ex.error = 0; throw ex; @@ -248,14 +232,6 @@ IceInternal::TcpTransceiver::read(Buffer& buf) if(connectionLost()) { - // - // See the commment above about shutting down the - // socket if the connection is lost while reading - // data. - // - //assert(_fd != INVALID_SOCKET); - //shutdownSocketReadWrite(_fd); - ConnectionLostException ex(__FILE__, __LINE__); ex.error = getSocketErrno(); throw ex; @@ -283,11 +259,10 @@ IceInternal::TcpTransceiver::read(Buffer& buf) packetSize = static_cast<int>(buf.b.end() - buf.i); } - return true; } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) bool IceInternal::TcpTransceiver::startWrite(Buffer& buf) { @@ -297,14 +272,15 @@ IceInternal::TcpTransceiver::startWrite(Buffer& buf) return false; } - assert(!buf.b.empty() && buf.i != buf.b.end()); + assert(!buf.b.empty()); + assert(buf.i != buf.b.end()); int packetSize = static_cast<int>(buf.b.end() - buf.i); if(_maxSendPacketSize > 0 && packetSize > _maxSendPacketSize) { packetSize = _maxSendPacketSize; } - + assert(packetSize > 0); _write.buf.len = packetSize; _write.buf.buf = reinterpret_cast<char*>(&*buf.i); int err = WSASend(_fd, &_write.buf, 1, &_write.count, 0, &_write, NULL); @@ -362,6 +338,7 @@ IceInternal::TcpTransceiver::finishWrite(Buffer& buf) packetSize = _maxSendPacketSize; } Trace out(_logger, _traceLevels->networkCat); + out << "sent " << _write.count << " of " << packetSize << " bytes via tcp\n" << toString(); } @@ -369,7 +346,6 @@ IceInternal::TcpTransceiver::finishWrite(Buffer& buf) { _stats->bytesSent(type(), _write.count); } - buf.i += _write.count; } @@ -381,7 +357,6 @@ IceInternal::TcpTransceiver::startRead(Buffer& buf) { packetSize = _maxReceivePacketSize; } - assert(!buf.b.empty() && buf.i != buf.b.end()); _read.buf.len = packetSize; @@ -432,7 +407,7 @@ IceInternal::TcpTransceiver::finishRead(Buffer& buf) ex.error = 0; throw ex; } - + if(_traceLevels->network >= 3) { int packetSize = static_cast<int>(buf.b.end() - buf.i); @@ -496,6 +471,7 @@ IceInternal::TcpTransceiver::TcpTransceiver(const InstancePtr& instance, SOCKET #endif { setBlock(_fd, false); + setTcpBufSize(_fd, instance->initializationData().properties, _logger); #ifdef ICE_USE_IOCP @@ -524,9 +500,9 @@ IceInternal::TcpTransceiver::~TcpTransceiver() } void -IceInternal::TcpTransceiver::connect(const struct sockaddr_storage& addr) +IceInternal::TcpTransceiver::connect(const Address& addr) { -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) try { if(doConnect(_fd, addr)) diff --git a/cpp/src/Ice/TcpTransceiver.h b/cpp/src/Ice/TcpTransceiver.h index 47e482d07ec..82099820416 100644 --- a/cpp/src/Ice/TcpTransceiver.h +++ b/cpp/src/Ice/TcpTransceiver.h @@ -15,6 +15,7 @@ #include <Ice/LoggerF.h> #include <Ice/StatsF.h> #include <Ice/Transceiver.h> +#include <Ice/Network.h> namespace IceInternal { @@ -37,7 +38,7 @@ public: #ifdef ICE_USE_IOCP virtual AsyncInfo* getAsyncInfo(SocketOperation); #endif - + virtual SocketOperation initialize(); virtual void close(); virtual bool write(Buffer&); @@ -58,7 +59,7 @@ private: TcpTransceiver(const InstancePtr&, SOCKET, bool); virtual ~TcpTransceiver(); - void connect(const struct sockaddr_storage&); + void connect(const Address&); friend class TcpConnector; friend class TcpAcceptor; @@ -69,7 +70,8 @@ private: State _state; std::string _desc; - struct sockaddr_storage _connectAddr; + Address _connectAddr; + #ifdef ICE_USE_IOCP AsyncInfo _read; AsyncInfo _write; diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp index db412ed06f8..288377987db 100644 --- a/cpp/src/Ice/ThreadPool.cpp +++ b/cpp/src/Ice/ThreadPool.cpp @@ -8,14 +8,15 @@ // ********************************************************************** // -// The following is required for GetThreadIOPendingFlag +// The following is required to bring in some definitions. Don't +// define with Metro Style apps. // -#if defined(_WIN32) && !defined(_WIN32_WINNT) -# define _WIN32_WINNT 0x0501 +#if defined(_WIN32) && !defined(_WIN32_WINNT) && WINAPI_FAMILY != 0x02 +# define _WIN32_WINNT 0x0501 #endif -#include <IceUtil/DisableWarnings.h> #include <Ice/ThreadPool.h> +#include <IceUtil/DisableWarnings.h> #include <Ice/EventHandler.h> #include <Ice/Network.h> #include <Ice/LocalException.h> @@ -26,6 +27,10 @@ #include <Ice/Properties.h> #include <Ice/TraceLevels.h> +#if defined(ICE_OS_WINRT) +# include <IceUtil/Unicode.h> +#endif + using namespace std; using namespace Ice; using namespace IceInternal; @@ -157,11 +162,11 @@ IceInternal::ThreadPoolWorkQueue::ThreadPoolWorkQueue(ThreadPool* threadPool, _instance(instance), _selector(selector), _destroyed(false) -#ifdef ICE_USE_IOCP +#ifdef ICE_USE_IOCP , _info(SocketOperationRead) #endif { -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) SOCKET fds[2]; createPipe(fds); _fdIntrRead = fds[0]; @@ -176,7 +181,7 @@ IceInternal::ThreadPoolWorkQueue::~ThreadPoolWorkQueue() { assert(_destroyed); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) try { closeSocket(_fdIntrRead); @@ -217,7 +222,7 @@ IceInternal::ThreadPoolWorkQueue::queue(const ThreadPoolWorkItemPtr& item) throw CommunicatorDestroyedException(__FILE__, __LINE__); } _workItems.push_back(item); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) if(_workItems.size() == 1) { postMessage(); @@ -227,7 +232,7 @@ IceInternal::ThreadPoolWorkQueue::queue(const ThreadPoolWorkItemPtr& item) #endif } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool IceInternal::ThreadPoolWorkQueue::startAsync(SocketOperation) { @@ -254,18 +259,18 @@ IceInternal::ThreadPoolWorkQueue::message(ThreadPoolCurrent& current) workItem = _workItems.front(); _workItems.pop_front(); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) if(_workItems.empty()) { char c; while(true) { ssize_t ret; -#ifdef _WIN32 +# ifdef _WIN32 ret = ::recv(_fdIntrRead, &c, 1, 0); -#else +# else ret = ::read(_fdIntrRead, &c, 1); -#endif +# endif if(ret == SOCKET_ERROR) { if(interrupted()) @@ -285,7 +290,7 @@ IceInternal::ThreadPoolWorkQueue::message(ThreadPoolCurrent& current) else { assert(_destroyed); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) postMessage(); #endif } @@ -317,24 +322,40 @@ IceInternal::ThreadPoolWorkQueue::toString() const NativeInfoPtr IceInternal::ThreadPoolWorkQueue::getNativeInfo() { -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) return new NativeInfo(_fdIntrRead); -#endif +#else return 0; +#endif } void IceInternal::ThreadPoolWorkQueue::postMessage() { -#ifndef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) + if(!PostQueuedCompletionStatus(_selector.getIOCPHandle(), 0, reinterpret_cast<ULONG_PTR>(this), +# if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 + reinterpret_cast<LPOVERLAPPED>(&_info) +# else + &_info +# endif + )) + { + SocketException ex(__FILE__, __LINE__); + ex.error = GetLastError(); + throw ex; + } +#elif defined(ICE_OS_WINRT) + _selector.completed(this, SocketOperationRead); +#else char c = 0; while(true) { -#ifdef _WIN32 +# ifdef _WIN32 if(::send(_fdIntrWrite, &c, 1, 0) == SOCKET_ERROR) -#else +# else if(::write(_fdIntrWrite, &c, 1) == SOCKET_ERROR) -#endif +# endif { if(interrupted()) { @@ -347,19 +368,6 @@ IceInternal::ThreadPoolWorkQueue::postMessage() } break; } -#else - if(!PostQueuedCompletionStatus(_selector.getIOCPHandle(), 0, reinterpret_cast<ULONG_PTR>(this), -#if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 - reinterpret_cast<LPOVERLAPPED>(&_info) -#else - &_info -#endif - )) - { - SocketException ex(__FILE__, __LINE__); - ex.error = GetLastError(); - throw ex; - } #endif } @@ -379,21 +387,22 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p _threadIdleTime(0), _stackSize(0), _inUse(0), -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) _inUseIO(0), _nextHandler(_handlers.end()), #endif _promote(true) { PropertiesPtr properties = _instance->initializationData().properties; - -#ifdef _WIN32 +#ifndef ICE_OS_WINRT +# ifdef _WIN32 SYSTEM_INFO sysInfo; GetSystemInfo(&sysInfo); int nProcessors = sysInfo.dwNumberOfProcessors; -#else +# else int nProcessors = static_cast<int>(sysconf(_SC_NPROCESSORS_ONLN)); -#endif +# endif +#endif // // We use just one thread as the default. This is the fastest @@ -409,10 +418,12 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p } int sizeMax = properties->getPropertyAsIntWithDefault(_prefix + ".SizeMax", size); +#ifndef ICE_OS_WINRT if(sizeMax == -1) { sizeMax = nProcessors; } +#endif if(sizeMax < size) { Warning out(_instance->initializationData().logger); @@ -445,7 +456,11 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p const_cast<int&>(_size) = size; const_cast<int&>(_sizeMax) = sizeMax; const_cast<int&>(_sizeWarn) = sizeWarn; +#ifndef ICE_OS_WINRT const_cast<int&>(_sizeIO) = min(sizeMax, nProcessors); +#else + const_cast<int&>(_sizeIO) = sizeMax; +#endif const_cast<int&>(_threadIdleTime) = threadIdleTime; #ifdef ICE_USE_IOCP @@ -460,7 +475,7 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p stackSize = 0; } const_cast<size_t&>(_stackSize) = static_cast<size_t>(stackSize); - + const_cast<bool&>(_hasPriority) = properties->getProperty(_prefix + ".ThreadPriority") != ""; const_cast<int&>(_priority) = properties->getPropertyAsInt(_prefix + ".ThreadPriority"); if(!_hasPriority) @@ -468,7 +483,7 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p const_cast<bool&>(_hasPriority) = properties->getProperty("Ice.ThreadPriority") != ""; const_cast<int&>(_priority) = properties->getPropertyAsInt("Ice.ThreadPriority"); } - + _workQueue = new ThreadPoolWorkQueue(this, _instance, _selector); if(_instance->traceLevels()->threadPool >= 1) @@ -550,7 +565,7 @@ IceInternal::ThreadPool::finish(const EventHandlerPtr& handler) { Lock sync(*this); assert(!_destroyed); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) _selector.finish(handler.get()); // This must be called before! _workQueue->queue(new FinishedWorkItem(handler)); @@ -596,7 +611,7 @@ IceInternal::ThreadPool::joinWithAllThreads() (*p)->getThreadControl().join(); } -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) _selector.finish(_workQueue.get()); #endif _selector.destroy(); @@ -611,7 +626,7 @@ IceInternal::ThreadPool::prefix() const void IceInternal::ThreadPool::run(const IceUtil::ThreadPtr& thread) { -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) ThreadPoolCurrent current(_instance, this); bool select = false; vector<pair<EventHandler*, SocketOperation> > handlers; @@ -633,6 +648,14 @@ IceInternal::ThreadPool::run(const IceUtil::ThreadPtr& thread) out << "exception in `" << _prefix << "':\n" << ex << "\nevent handler: " << current._handler->toString(); } +#ifdef ICE_OS_WINRT + catch(Platform::Exception^ ex) + { + Error out(_instance->initializationData().logger); + out << "exception in `" << _prefix << "':\n" << IceUtil::wstringToString(ex->Message->Data()) + << "\nevent handler: " << current._handler->toString(); + } +#endif catch(...) { Error out(_instance->initializationData().logger); @@ -767,13 +790,14 @@ IceInternal::ThreadPool::run(const IceUtil::ThreadPtr& thread) } else if(_inUse < static_cast<int>(_threads.size() - 1)) // If not the last idle thread, we can exit. { +#ifndef ICE_OS_WINRT BOOL hasIO = false; GetThreadIOPendingFlag(GetCurrentThread(), &hasIO); if(hasIO) { continue; } - +#endif if(_instance->traceLevels()->threadPool >= 1) { Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat); @@ -782,7 +806,7 @@ IceInternal::ThreadPool::run(const IceUtil::ThreadPtr& thread) _threads.erase(thread); _workQueue->queue(new JoinThreadWorkItem(thread)); return; - } + } else if(_inUse > 0) { // @@ -831,6 +855,14 @@ IceInternal::ThreadPool::run(const IceUtil::ThreadPtr& thread) Error out(_instance->initializationData().logger); out << "exception in `" << _prefix << "':\n" << ex << "\nevent handler: " << current._handler->toString(); } +#ifdef ICE_OS_WINRT + catch(Platform::Exception^ ex) + { + Error out(_instance->initializationData().logger); + out << "exception in `" << _prefix << "':\n" << IceUtil::wstringToString(ex->Message->Data()) + << "\nevent handler: " << current._handler->toString(); + } +#endif catch(...) { Error out(_instance->initializationData().logger); @@ -848,7 +880,7 @@ IceInternal::ThreadPool::ioCompleted(ThreadPoolCurrent& current) if(_sizeMax > 1) { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) --_inUseIO; if(_serialize && !_destroyed) @@ -915,7 +947,7 @@ IceInternal::ThreadPool::ioCompleted(ThreadPoolCurrent& current) return _serialize; } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool IceInternal::ThreadPool::startMessage(ThreadPoolCurrent& current) { @@ -1133,7 +1165,7 @@ ThreadPoolCurrent::ThreadPoolCurrent(const InstancePtr& instance, const ThreadPo stream(instance.get()), _threadPool(threadPool.get()), _ioCompleted(false) -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) , _leader(false) #endif { diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h index f9e012980d6..3802d3a75e0 100644 --- a/cpp/src/Ice/ThreadPool.h +++ b/cpp/src/Ice/ThreadPool.h @@ -68,7 +68,7 @@ private: bool ioCompleted(ThreadPoolCurrent&); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool startMessage(ThreadPoolCurrent&); void finishMessage(ThreadPoolCurrent&); #else @@ -110,7 +110,7 @@ private: std::set<IceUtil::ThreadPtr> _threads; // All threads, running or not. int _inUse; // Number of threads that are currently in use. -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) int _inUseIO; // Number of threads that are currently performing IO. std::vector<std::pair<EventHandler*, SocketOperation> > _handlers; std::vector<std::pair<EventHandler*, SocketOperation> >::const_iterator _nextHandler; @@ -133,7 +133,7 @@ public: return _threadPool->ioCompleted(const_cast<ThreadPoolCurrent&>(*this)); } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool startMessage() { return _threadPool->startMessage(const_cast<ThreadPoolCurrent&>(*this)); @@ -150,7 +150,7 @@ private: ThreadPool* _threadPool; EventHandlerPtr _handler; bool _ioCompleted; -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) bool _leader; #endif friend class ThreadPool; @@ -186,7 +186,7 @@ public: void destroy(); void queue(const ThreadPoolWorkItemPtr&); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool startAsync(SocketOperation); bool finishAsync(SocketOperation); #endif @@ -205,7 +205,7 @@ private: bool _destroyed; #ifdef ICE_USE_IOCP AsyncInfo _info; -#else +#elif !defined(ICE_OS_WINRT) SOCKET _fdIntrRead; SOCKET _fdIntrWrite; #endif @@ -222,7 +222,7 @@ private: // the IOCP implementation and ensures that finishMessage isn't called multiple // times. // -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) template<class T> class ThreadPoolMessage { public: diff --git a/cpp/src/Ice/Transceiver.h b/cpp/src/Ice/Transceiver.h index 655a9c42a32..3cf9b9d867a 100644 --- a/cpp/src/Ice/Transceiver.h +++ b/cpp/src/Ice/Transceiver.h @@ -29,7 +29,7 @@ public: virtual void close() = 0; virtual bool write(Buffer&) = 0; virtual bool read(Buffer&) = 0; -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual bool startWrite(Buffer&) = 0; virtual void finishWrite(Buffer&) = 0; virtual void startRead(Buffer&) = 0; diff --git a/cpp/src/Ice/UdpConnector.cpp b/cpp/src/Ice/UdpConnector.cpp index d726af5c285..2bdf87281b2 100644 --- a/cpp/src/Ice/UdpConnector.cpp +++ b/cpp/src/Ice/UdpConnector.cpp @@ -8,9 +8,9 @@ // ********************************************************************** #include <Ice/UdpConnector.h> + #include <Ice/UdpTransceiver.h> #include <Ice/UdpEndpointI.h> -#include <Ice/Network.h> #include <Ice/LocalException.h> using namespace std; @@ -43,12 +43,10 @@ IceInternal::UdpConnector::operator==(const Connector& r) const { return false; } - if(compareAddress(_addr, p->_addr) != 0) { return false; } - if(_connectionId != p->_connectionId) { return false; @@ -164,15 +162,13 @@ IceInternal::UdpConnector::operator<(const Connector& r) const { return false; } - return compareAddress(_addr, p->_addr) == -1; } - -IceInternal::UdpConnector::UdpConnector(const InstancePtr& instance, const struct sockaddr_storage& addr, +IceInternal::UdpConnector::UdpConnector(const InstancePtr& instance, const Address& addr, const string& mcastInterface, int mcastTtl, Ice::Byte protocolMajor, - Ice::Byte protocolMinor, Ice::Byte encodingMajor, Ice::Byte encodingMinor, - const std::string& connectionId) : + Ice::Byte protocolMinor, Ice::Byte encodingMajor, + Ice::Byte encodingMinor, const std::string& connectionId) : _instance(instance), _addr(addr), _mcastInterface(mcastInterface), diff --git a/cpp/src/Ice/UdpConnector.h b/cpp/src/Ice/UdpConnector.h index cb134616ca0..0055a75638c 100644 --- a/cpp/src/Ice/UdpConnector.h +++ b/cpp/src/Ice/UdpConnector.h @@ -14,12 +14,7 @@ #include <Ice/InstanceF.h> #include <Ice/Connector.h> #include <Ice/Protocol.h> - -#ifdef _WIN32 -# include <winsock2.h> -#else -# include <sys/socket.h> // For struct sockaddr_storage -#endif +#include <Ice/Network.h> namespace IceInternal { @@ -39,13 +34,13 @@ public: private: - UdpConnector(const InstancePtr&, const struct sockaddr_storage&, const std::string&, int, Ice::Byte, Ice::Byte, - Ice::Byte, Ice::Byte, const std::string&); + UdpConnector(const InstancePtr&, const Address&, const std::string&, int, Ice::Byte, Ice::Byte, Ice::Byte, + Ice::Byte, const std::string&); virtual ~UdpConnector(); friend class UdpEndpointI; const InstancePtr _instance; - struct sockaddr_storage _addr; + const Address _addr; const std::string _mcastInterface; const int _mcastTtl; const Ice::Byte _protocolMajor; @@ -56,5 +51,4 @@ private: }; } - #endif diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp index c218f61caf9..d99e1c2b435 100644 --- a/cpp/src/Ice/UdpEndpointI.cpp +++ b/cpp/src/Ice/UdpEndpointI.cpp @@ -821,7 +821,7 @@ IceInternal::UdpEndpointI::hashInit() const } vector<ConnectorPtr> -IceInternal::UdpEndpointI::connectors(const vector<struct sockaddr_storage>& addresses) const +IceInternal::UdpEndpointI::connectors(const vector<Address>& addresses) const { vector<ConnectorPtr> connectors; for(unsigned int i = 0; i < addresses.size(); ++i) @@ -832,6 +832,7 @@ IceInternal::UdpEndpointI::connectors(const vector<struct sockaddr_storage>& add return connectors; } + IceInternal::UdpEndpointFactory::UdpEndpointFactory(const InstancePtr& instance) : _instance(instance) { diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h index 2a6ad83c0f9..77cdc2a4827 100644 --- a/cpp/src/Ice/UdpEndpointI.h +++ b/cpp/src/Ice/UdpEndpointI.h @@ -10,8 +10,10 @@ #ifndef ICE_UDP_ENDPOINT_I_H #define ICE_UDP_ENDPOINT_I_H +#include <IceUtil/Config.h> #include <Ice/EndpointI.h> #include <Ice/EndpointFactory.h> +#include <Ice/Network.h> namespace IceInternal { @@ -49,7 +51,7 @@ public: private: virtual ::Ice::Int hashInit() const; - virtual std::vector<ConnectorPtr> connectors(const std::vector<struct sockaddr_storage>&) const; + virtual std::vector<ConnectorPtr> connectors(const std::vector<IceInternal::Address>&) const; // // All members are const, because endpoints are immutable. diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index 198a2f7c4f1..855527b144d 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -7,14 +7,6 @@ // // ********************************************************************** -// -// The following is required for the Vista PSDK to bring in -// the definitions of the IN6_IS_ADDR_* macros. -// -#if defined(_WIN32) && !defined(_WIN32_WINNT) -# define _WIN32_WINNT 0x0501 -#endif - #include <Ice/UdpTransceiver.h> #include <Ice/Connection.h> #include <Ice/Instance.h> @@ -22,14 +14,24 @@ #include <Ice/LoggerUtil.h> #include <Ice/Stats.h> #include <Ice/Buffer.h> -#include <Ice/Network.h> #include <Ice/LocalException.h> #include <Ice/Properties.h> #include <IceUtil/StringUtil.h> +#ifdef ICE_OS_WINRT +# include <ppltasks.h> // For Concurrency::task +#endif + using namespace std; using namespace Ice; using namespace IceInternal; +#ifdef ICE_OS_WINRT +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Storage::Streams; +using namespace Windows::Networking; +using namespace Windows::Networking::Sockets; +#endif NativeInfoPtr IceInternal::UdpTransceiver::getNativeInfo() @@ -53,6 +55,26 @@ IceInternal::UdpTransceiver::getAsyncInfo(SocketOperation status) return 0; } } +#elif defined(ICE_OS_WINRT) +void +IceInternal::UdpTransceiver::setCompletedHandler(SocketOperationCompletedHandler^ handler) +{ + _completedHandler = handler; + _writeOperationCompletedHandler = ref new AsyncOperationCompletedHandler<unsigned int>( + [=] (IAsyncOperation<unsigned int>^ operation, Windows::Foundation::AsyncStatus status) + { + if(status != Windows::Foundation::AsyncStatus::Completed) + { + _write.count = SOCKET_ERROR; + _write.error = operation->ErrorCode.Value; + } + else + { + _write.count = static_cast<int>(operation->GetResults()); + } + _completedHandler(SocketOperationWrite); + }); +} #endif SocketOperation @@ -67,7 +89,16 @@ IceInternal::UdpTransceiver::initialize() { try { +#if defined(ICE_USE_IOCP) + doFinishConnectAsync(_fd, _write); +#elif defined(ICE_OS_WINRT) + if(_write.count == SOCKET_ERROR) + { + checkConnectErrorCode(__FILE__, __LINE__, _write.error, _addr.host); + } +#else doFinishConnect(_fd); +#endif _state = StateConnected; } catch(const Ice::LocalException& ex) @@ -102,6 +133,17 @@ IceInternal::UdpTransceiver::close() out << "closing udp connection\n" << toString(); } +#ifdef ICE_OS_WINRT + IceUtil::Mutex::Lock lock(_mutex); + if(_readPending) + { + assert(_received.empty()); + _completedHandler(SocketOperationRead); + _readPending = false; + } + _received.clear(); +#endif + assert(_fd != INVALID_SOCKET); closeSocket(_fd); _fd = INVALID_SOCKET; @@ -110,6 +152,9 @@ IceInternal::UdpTransceiver::close() bool IceInternal::UdpTransceiver::write(Buffer& buf) { +#ifdef ICE_OS_WINRT + return false; +#else assert(buf.i == buf.b.begin()); assert(_fd != INVALID_SOCKET && _state >= StateConnected); @@ -121,11 +166,11 @@ repeat: ssize_t ret; if(_state == StateConnected) { -#ifdef _WIN32 +# ifdef _WIN32 ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), static_cast<int>(buf.b.size()), 0); -#else +# else ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0); -#endif +# endif } else { @@ -146,13 +191,13 @@ repeat: throw ex; } -#ifdef _WIN32 +# ifdef _WIN32 ret = ::sendto(_fd, reinterpret_cast<const char*>(&buf.b[0]), static_cast<int>(buf.b.size()), 0, reinterpret_cast<struct sockaddr*>(&_peerAddr), len); -#else +# else ret = ::sendto(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0, reinterpret_cast<struct sockaddr*>(&_peerAddr), len); -#endif +# endif } if(ret == SOCKET_ERROR) @@ -186,11 +231,15 @@ repeat: assert(ret == static_cast<ssize_t>(buf.b.size())); buf.i = buf.b.end(); return true; +#endif } bool IceInternal::UdpTransceiver::read(Buffer& buf) { +#ifdef ICE_OS_WINRT + return false; +#else assert(buf.i == buf.b.begin()); assert(_fd != INVALID_SOCKET); @@ -265,12 +314,12 @@ repeat: // assert(_incoming); // Client connections should always be connected at this point. -#ifndef NDEBUG +# ifndef NDEBUG bool connected = doConnect(_fd, _peerAddr); assert(connected); -#else +# else doConnect(_fd, _peerAddr); -#endif +# endif _state = StateConnected; if(_traceLevels->network >= 1) @@ -294,9 +343,10 @@ repeat: buf.b.resize(ret); buf.i = buf.b.end(); return true; +#endif } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool IceInternal::UdpTransceiver::startWrite(Buffer& buf) { @@ -304,9 +354,138 @@ IceInternal::UdpTransceiver::startWrite(Buffer& buf) // The caller is supposed to check the send size before by calling checkSendSize assert(min(_maxPacketSize, _sndSize - _udpOverhead) >= static_cast<int>(buf.b.size())); - assert(_fd != INVALID_SOCKET); +#ifdef ICE_OS_WINRT + if(_state < StateConnected) + { + try + { + bool multicast = isMulticast(_addr) || isAddressValid(_mcastAddr); + if(!multicast) + { + auto operation = safe_cast<DatagramSocket^>(_fd)->ConnectAsync(_addr.host, _addr.port); + if(!checkIfErrorOrCompleted(SocketOperationConnect, operation)) + { + operation->Completed = ref new AsyncActionCompletedHandler( + [=] (IAsyncAction^ info, Windows::Foundation::AsyncStatus status) + { + if(status != Windows::Foundation::AsyncStatus::Completed) + { + _write.count = SOCKET_ERROR; + _write.error = info->ErrorCode.Value; + } + else + { + _write.count = 0; + _writer = ref new DataWriter(safe_cast<DatagramSocket^>(_fd)->OutputStream); + } + _completedHandler(SocketOperationConnect); + }); + } + else + { + _write.count = 0; + _writer = ref new DataWriter(safe_cast<DatagramSocket^>(_fd)->OutputStream); + } + } + else + { + auto operation = safe_cast<DatagramSocket^>(_fd)->GetOutputStreamAsync(_addr.host, _addr.port); + if(!checkIfErrorOrCompleted(SocketOperationConnect, operation)) + { + operation->Completed = ref new AsyncOperationCompletedHandler<IOutputStream^>( + [=] (IAsyncOperation<IOutputStream^>^ info, Windows::Foundation::AsyncStatus status) + { + if(status != Windows::Foundation::AsyncStatus::Completed) + { + _write.count = SOCKET_ERROR; + _write.error = info->ErrorCode.Value; + } + else + { + _write.count = 0; + _writer = ref new DataWriter(info->GetResults()); + } + if(_mcastAddr.host != nullptr) + { + setMcastGroup(_fd, _mcastAddr, ""); + } + _completedHandler(SocketOperationConnect); + }); + } + else + { + _write.count = 0; + _writer = ref new DataWriter(operation->GetResults()); + setMcastGroup(_fd, _mcastAddr, ""); + } + } + } + catch(Platform::Exception^ ex) + { + checkConnectErrorCode(__FILE__, __LINE__, ex->HResult, _addr.host); + } + return false; + } + else if(_state == StateNotConnected) + { + try + { + DatagramSocket^ fd = safe_cast<DatagramSocket^>(_fd); + concurrency::create_task(fd->GetOutputStreamAsync(_peerAddr.host, _peerAddr.port)).then( + [=,&buf](concurrency::task<IOutputStream^> task) + { + try + { + DataWriter^ writer = ref new DataWriter(task.get()); + writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, static_cast<int>(buf.b.size()))); + DataWriterStoreOperation^ operation = writer->StoreAsync(); + if(checkIfErrorOrCompleted(SocketOperationWrite, operation)) + { + _write.count = operation->GetResults(); + } + else + { + operation->Completed = _writeOperationCompletedHandler; + } + } + catch(Platform::Exception^ pex) + { + _write.count = SOCKET_ERROR; + _write.error = pex->HResult; + _completedHandler(SocketOperationWrite); + } + }); + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } + return true; + } + else + { + try + { + _writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, static_cast<int>(buf.b.size()))); + DataWriterStoreOperation^ operation = _writer->StoreAsync(); + if(checkIfErrorOrCompleted(SocketOperationWrite, operation)) + { + _write.count = operation->GetResults(); + } + else + { + operation->Completed = _writeOperationCompletedHandler; + } + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } + return true; + } +#else _write.buf.len = static_cast<int>(buf.b.size()); _write.buf.buf = reinterpret_cast<char*>(&*buf.i); int err; @@ -354,14 +533,21 @@ IceInternal::UdpTransceiver::startWrite(Buffer& buf) } } } +#endif return true; } void IceInternal::UdpTransceiver::finishWrite(Buffer& buf) { + if(_state < StateConnected) + { + return; + } + if(_write.count == SOCKET_ERROR) { +#ifndef ICE_OS_WINRT WSASetLastError(_write.error); if(connectionLost()) { @@ -375,6 +561,9 @@ IceInternal::UdpTransceiver::finishWrite(Buffer& buf) ex.error = getSocketErrno(); throw ex; } +#else + checkErrorCode(__FILE__, __LINE__, _write.error); +#endif } if(_traceLevels->network >= 3) @@ -388,7 +577,7 @@ IceInternal::UdpTransceiver::finishWrite(Buffer& buf) _stats->bytesSent(type(), static_cast<Int>(_write.count)); } - assert(_write.count == static_cast<ssize_t>(buf.b.size())); + assert(_write.count == buf.b.size()); buf.i = buf.b.end(); } @@ -398,9 +587,8 @@ IceInternal::UdpTransceiver::startRead(Buffer& buf) const int packetSize = min(_maxPacketSize, _rcvSize - _udpOverhead); buf.b.resize(packetSize); buf.i = buf.b.begin(); - assert(!buf.b.empty() && buf.i != buf.b.end()); - +#ifndef ICE_OS_WINRT _read.buf.len = packetSize; _read.buf.buf = reinterpret_cast<char*>(&*buf.i); int err; @@ -439,11 +627,54 @@ IceInternal::UdpTransceiver::startRead(Buffer& buf) } } } +#else + IceUtil::Mutex::Lock lock(_mutex); + assert(!_readPending); + if(!_received.empty()) + { + _completedHandler(SocketOperationRead); + } + else + { + _readPending = true; + } +#endif } void IceInternal::UdpTransceiver::finishRead(Buffer& buf) { +#ifdef ICE_OS_WINRT + IceUtil::Mutex::Lock lock(_mutex); + assert(!_readPending && (!_received.empty() || _fd == INVALID_SOCKET)); + if(_fd == INVALID_SOCKET) + { + return; + } + + DatagramSocketMessageReceivedEventArgs^ args = _received.front(); + _received.pop_front(); + + int ret; + try + { + DataReader^ reader = args->GetDataReader(); + ret = min(static_cast<int>(reader->UnconsumedBufferLength), static_cast<int>(buf.b.size())); // Truncate received data if too large. + + Array<unsigned char>^ data = ref new Array<unsigned char>(ret); + reader->ReadBytes(data); + memcpy(&*buf.i, data->Data, ret); + if(_state == StateNotConnected) + { + _peerAddr.host = args->RemoteAddress; + _peerAddr.port = args->RemotePort; + } + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } +#else if(_read.count == SOCKET_ERROR) { WSASetLastError(_read.error); @@ -477,18 +708,21 @@ IceInternal::UdpTransceiver::finishRead(Buffer& buf) _peerAddr = _readAddr; } + int ret = _read.count; +#endif + if(_traceLevels->network >= 3) { Trace out(_logger, _traceLevels->networkCat); - out << "received " << _read.count << " bytes via udp\n" << toString(); + out << "received " << ret << " bytes via udp\n" << toString(); } if(_stats) { - _stats->bytesReceived(type(), static_cast<Int>(_read.count)); + _stats->bytesReceived(type(), static_cast<Int>(ret)); } - buf.b.resize(_read.count); + buf.b.resize(ret); buf.i = buf.b.end(); } #endif @@ -510,20 +744,27 @@ IceInternal::UdpTransceiver::toString() const ostringstream s; if(_state == StateNotConnected) { - struct sockaddr_storage localAddr; + Address localAddr; fdToLocalAddress(_fd, localAddr); s << "local address = " << addrToString(localAddr); - if(_peerAddr.ss_family != AF_UNSPEC) + if(isAddressValid(_peerAddr)) { s << "\nremote address = " << addrToString(_peerAddr); } } else { +#ifndef ICE_OS_WINRT s << fdToString(_fd); +#else + Address localAddr; + fdToLocalAddress(_fd, localAddr); + s << "local address = " << addrToString(localAddr); + s << "\nremote address = " << addrToString(_addr); +#endif } - if(_mcastAddr.ss_family != AF_UNSPEC) + if(isAddressValid(_mcastAddr)) { s << "\nmulticast address = " + addrToString(_mcastAddr); } @@ -533,14 +774,23 @@ IceInternal::UdpTransceiver::toString() const Ice::ConnectionInfoPtr IceInternal::UdpTransceiver::getInfo() const { - assert(_fd != INVALID_SOCKET); Ice::UDPConnectionInfoPtr info = new Ice::UDPConnectionInfo(); +#if defined(ICE_OS_WINRT) + if(isMulticast(_addr) || isAddressValid(_mcastAddr)) + { + info->remotePort = 0; + info->localPort = 0; + info->mcastPort = 0; + return info; + } +#endif + assert(_fd != INVALID_SOCKET); if(_state == StateNotConnected) { - struct sockaddr_storage localAddr; + Address localAddr; fdToLocalAddress(_fd, localAddr); addrToAddressAndPort(localAddr, info->localAddress, info->localPort); - if(_peerAddr.ss_family != AF_UNSPEC) + if(isAddressValid(_peerAddr)) { addrToAddressAndPort(_peerAddr, info->remoteAddress, info->remotePort); } @@ -554,7 +804,7 @@ IceInternal::UdpTransceiver::getInfo() const fdToAddressAndPort(_fd, info->localAddress, info->localPort, info->remoteAddress, info->remotePort); } - if(_mcastAddr.ss_family != AF_UNSPEC) + if(isAddressValid(_mcastAddr)) { addrToAddressAndPort(_mcastAddr, info->mcastAddress, info->mcastPort); } @@ -590,26 +840,32 @@ IceInternal::UdpTransceiver::effectivePort() const return getPort(_addr); } -IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const struct sockaddr_storage& addr, - const string& mcastInterface, int mcastTtl) : + +IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, + const Address& addr, + const string& mcastInterface, + int mcastTtl) : _traceLevels(instance->traceLevels()), _logger(instance->initializationData().logger), _stats(instance->initializationData().stats), _incoming(false), _addr(addr), _state(StateNeedConnect) -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) , _read(SocketOperationRead), _write(SocketOperationWrite) +#elif defined(ICE_OS_WINRT) + , _readPending(false) #endif { - _mcastAddr.ss_family = AF_UNSPEC; // AF_UNSPEC means not multicast. - _peerAddr.ss_family = AF_UNSPEC; // Not initialized yet. - - _fd = createSocket(true, _addr.ss_family); + _fd = createSocket(true, _addr); setBufSize(instance); setBlock(_fd, false); - + +#ifndef ICE_OS_WINRT + _mcastAddr.ss_family = AF_UNSPEC; + _peerAddr.ss_family = AF_UNSPEC; // Not initialized yet. + // // In general, connecting a datagram socket should be non-blocking as this just setups // the default destination address for the socket. However, on some OS, connect sometime @@ -621,28 +877,36 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s { _state = StateConnected; } - -#ifdef ICE_USE_IOCP - // - // On Windows when using IOCP, we must make sure that the socket is connected without - // blocking as there's no way to do a non-blocking datagram socket conection (ConnectEx - // only supports connection oriented sockets). According to Microsoft documentation of - // the connect() call, this should always be the case. - // - assert(_state == StateConnected); +#else + DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd); + socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>( + [=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args) + { + this->appendMessage(args); + }); #endif - + if(isMulticast(_addr)) { if(mcastInterface.length() > 0) { - setMcastInterface(_fd, mcastInterface, _addr.ss_family == AF_INET); + setMcastInterface(_fd, mcastInterface, _addr); } if(mcastTtl != -1) { - setMcastTtl(_fd, mcastTtl, _addr.ss_family == AF_INET); + setMcastTtl(_fd, mcastTtl, _addr); } } + +#ifdef ICE_USE_IOCP + // + // On Windows when using IOCP, we must make sure that the socket is connected without + // blocking as there's no way to do a non-blocking datagram socket conection (ConnectEx + // only supports connection oriented sockets). According to Microsoft documentation of + // the connect() call, this should always be the case. + // + assert(_state == StateConnected); +#endif } IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const string& host, int port, @@ -653,25 +917,37 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s _incoming(true), _addr(getAddressForServer(host, port, instance->protocolSupport())), _state(connect ? StateNeedConnect : StateNotConnected) -#ifdef ICE_USE_IOCP +#ifdef ICE_OS_WINRT + , _readPending(false) +#elif defined(ICE_USE_IOCP) , _read(SocketOperationRead), _write(SocketOperationWrite) #endif { + _fd = createSocket(true, _addr); + setBufSize(instance); + setBlock(_fd, false); + +#ifndef ICE_OS_WINRT memset(&_mcastAddr, 0, sizeof(_mcastAddr)); memset(&_peerAddr, 0, sizeof(_peerAddr)); + _peerAddr.ss_family = AF_UNSPEC; + _mcastAddr.ss_family = AF_UNSPEC; +#else + DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd); + socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>( + [=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args) + { + this->appendMessage(args); + }); +#endif - _fd = createSocket(true, _addr.ss_family); - setBufSize(instance); - setBlock(_fd, false); if(_traceLevels->network >= 2) { Trace out(_logger, _traceLevels->networkCat); out << "attempting to bind to udp socket " << addrToString(_addr); } - _peerAddr.ss_family = AF_UNSPEC; // Not assigned yet. - if(isMulticast(_addr)) { setReuseAddress(_fd, true); @@ -685,11 +961,10 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s // address won't be the multicast address and the client will // therefore reject the datagram. // - const_cast<struct sockaddr_storage&>(_addr) = - getAddressForServer("", port, _mcastAddr.ss_family == AF_INET ? EnableIPv4 : EnableIPv6); + const_cast<Address&>(_addr) = getAddressForServer("", port, getProtocolSupport(_addr)); #endif - const_cast<struct sockaddr_storage&>(_addr) = doBind(_fd, _addr); + const_cast<Address&>(_addr) = doBind(_fd, _addr); if(getPort(_mcastAddr) == 0) { setPort(_mcastAddr, getPort(_addr)); @@ -713,16 +988,14 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s // setReuseAddress(_fd, true); #endif - const_cast<struct sockaddr_storage&>(_addr) = doBind(_fd, _addr); - - _mcastAddr.ss_family = AF_UNSPEC; // AF_UNSPEC means not multicast. + const_cast<Address&>(_addr) = doBind(_fd, _addr); } if(_traceLevels->network >= 1) { Trace out(_logger, _traceLevels->networkCat); out << "starting to receive udp packets\n" << toString(); - + vector<string> interfaces = getHostsForEndpointExpand(inetAddrToString(_addr), instance->protocolSupport(), true); if(!interfaces.empty()) @@ -741,7 +1014,6 @@ IceInternal::UdpTransceiver::~UdpTransceiver() // // Set UDP receive and send buffer sizes. // - void IceInternal::UdpTransceiver::setBufSize(const InstancePtr& instance) { @@ -759,7 +1031,6 @@ IceInternal::UdpTransceiver::setBufSize(const InstancePtr& instance) prop = "Ice.UDP.RcvSize"; addr = &_rcvSize; dfltSize = getRecvBufferSize(_fd); - _rcvSize = dfltSize; } else { @@ -767,9 +1038,14 @@ IceInternal::UdpTransceiver::setBufSize(const InstancePtr& instance) prop = "Ice.UDP.SndSize"; addr = &_sndSize; dfltSize = getSendBufferSize(_fd); - _sndSize = dfltSize; } + if(dfltSize <= 0) + { + dfltSize = _maxPacketSize; + } + *addr = dfltSize; + // // Get property for buffer size and check for sanity. // @@ -802,7 +1078,11 @@ IceInternal::UdpTransceiver::setBufSize(const InstancePtr& instance) // // Warn if the size that was set is less than the requested size. // - if(*addr < sizeRequested) + if(*addr == 0) // set buffer size not supported. + { + *addr = sizeRequested; + } + else if(*addr < sizeRequested) { Warning out(_logger); out << "UDP " << direction << " buffer size: requested size of " @@ -812,6 +1092,68 @@ IceInternal::UdpTransceiver::setBufSize(const InstancePtr& instance) } } +#ifdef ICE_OS_WINRT +bool +IceInternal::UdpTransceiver::checkIfErrorOrCompleted(SocketOperation op, IAsyncInfo^ info) +{ + // + // NOTE: It's important to only check for info->Status once as it + // might change during the checks below (the Status can be changed + // by the Windows thread pool concurrently). + // + // We consider that a canceled async status is the same as an + // error. A canceled async status can occur if there's a timeout + // and the socket is closed. + // + Windows::Foundation::AsyncStatus status = info->Status; + if(status == Windows::Foundation::AsyncStatus::Completed) + { + _completedHandler(op); + return true; + } + else if(status == Windows::Foundation::AsyncStatus::Started) + { + return false; + } + else + { + if(_state < StateConnected) + { + checkConnectErrorCode(__FILE__, __LINE__, info->ErrorCode.Value, _addr.host); + } + else + { + checkErrorCode(__FILE__, __LINE__, info->ErrorCode.Value); + } + return true; // Prevent compiler warning. + } +} + +void +IceInternal::UdpTransceiver::appendMessage(DatagramSocketMessageReceivedEventArgs^ args) +{ + IceUtil::Mutex::Lock lock(_mutex); + if(_fd == INVALID_SOCKET) // Transceiver was closed. + { + return; + } + _received.push_back(args); + + // + // If the transceiver is waiting to read a message, notify the + // selector that the transceiver is ready for read. This will in + // turn cause finishRead() to be called. If the transceiver is + // ready for read, we just queue the message. It will be picked + // up by startRead() when it is invoked. + // + if(_readPending) + { + _completedHandler(SocketOperationRead); + _readPending = false; + } +} +#endif + // // The maximum IP datagram size is 65535. Subtract 20 bytes for the IP header and 8 bytes for the UDP header // to get the maximum payload. diff --git a/cpp/src/Ice/UdpTransceiver.h b/cpp/src/Ice/UdpTransceiver.h index df764db8b60..0a1fc7155ba 100644 --- a/cpp/src/Ice/UdpTransceiver.h +++ b/cpp/src/Ice/UdpTransceiver.h @@ -10,20 +10,17 @@ #ifndef ICE_UDP_TRANSCEIVER_H #define ICE_UDP_TRANSCEIVER_H -#ifdef __hpux -# define _XOPEN_SOURCE_EXTENDED -#endif - #include <Ice/InstanceF.h> #include <Ice/TraceLevelsF.h> #include <Ice/LoggerF.h> #include <Ice/StatsF.h> #include <Ice/Transceiver.h> #include <Ice/Protocol.h> +#include <Ice/Network.h> #include <IceUtil/Mutex.h> -#ifndef _WIN32 -# include <sys/socket.h> // For struct sockaddr_storage +#ifdef ICE_OS_WINRT +# include <deque> #endif namespace IceInternal @@ -31,8 +28,6 @@ namespace IceInternal class UdpEndpoint; -class SUdpTransceiver; - class UdpTransceiver : public Transceiver, public NativeInfo { enum State @@ -46,15 +41,17 @@ class UdpTransceiver : public Transceiver, public NativeInfo public: virtual NativeInfoPtr getNativeInfo(); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) virtual AsyncInfo* getAsyncInfo(SocketOperation); +#elif defined(ICE_OS_WINRT) + virtual void setCompletedHandler(SocketOperationCompletedHandler^); #endif virtual SocketOperation initialize(); virtual void close(); virtual bool write(Buffer&); virtual bool read(Buffer&); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual bool startWrite(Buffer&); virtual void finishWrite(Buffer&); virtual void startRead(Buffer&); @@ -69,12 +66,19 @@ public: private: - UdpTransceiver(const InstancePtr&, const struct sockaddr_storage&, const std::string&, int); + UdpTransceiver(const InstancePtr&, const Address&, const std::string&, int); UdpTransceiver(const InstancePtr&, const std::string&, int, const std::string&, bool); + virtual ~UdpTransceiver(); void setBufSize(const InstancePtr&); +#ifdef ICE_OS_WINRT + bool checkIfErrorOrCompleted(SocketOperation, Windows::Foundation::IAsyncInfo^); + void appendMessage(Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^); + Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^ readMessage(); +#endif + friend class UdpEndpointI; friend class UdpConnector; @@ -82,24 +86,35 @@ private: const Ice::LoggerPtr _logger; const Ice::StatsPtr _stats; const bool _incoming; - const struct sockaddr_storage _addr; - struct sockaddr_storage _mcastAddr; - struct sockaddr_storage _peerAddr; - + + const Address _addr; + Address _mcastAddr; + Address _peerAddr; + State _state; int _rcvSize; int _sndSize; static const int _udpOverhead; static const int _maxPacketSize; -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) AsyncInfo _read; AsyncInfo _write; - struct sockaddr_storage _readAddr; + Address _readAddr; socklen_t _readAddrLen; +#elif defined(ICE_OS_WINRT) + AsyncInfo _write; + + Windows::Storage::Streams::DataWriter^ _writer; + + SocketOperationCompletedHandler^ _completedHandler; + Windows::Foundation::AsyncOperationCompletedHandler<unsigned int>^ _writeOperationCompletedHandler; + + IceUtil::Mutex _mutex; + bool _readPending; + std::deque<Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^> _received; #endif }; } - #endif diff --git a/cpp/src/Ice/winrt/.depend.mak b/cpp/src/Ice/winrt/.depend.mak new file mode 100644 index 00000000000..0f456b64331 --- /dev/null +++ b/cpp/src/Ice/winrt/.depend.mak @@ -0,0 +1,146 @@ +$(ARCH)\$(CONFIG)\Acceptor$(OBJEXT): ..\Acceptor.cpp "..\..\Ice\Acceptor.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\AcceptorF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" +$(ARCH)\$(CONFIG)\Base64$(OBJEXT): ..\Base64.cpp "..\..\Ice\Base64.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" +$(ARCH)\$(CONFIG)\Buffer$(OBJEXT): ..\Buffer.cpp "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" +$(ARCH)\$(CONFIG)\BasicStream$(OBJEXT): ..\BasicStream.cpp "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ProxyFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\ProxyFactory.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\ObjectFactory.h" "..\..\Ice\ObjectFactoryManager.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "..\..\Ice\TraceUtil.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" +$(ARCH)\$(CONFIG)\BuiltinSequences$(OBJEXT): ..\BuiltinSequences.cpp "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\CommunicatorI$(OBJEXT): ..\CommunicatorI.cpp "$(includedir)\IceUtil\DisableWarnings.h" "..\..\Ice\CommunicatorI.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\Instance.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\ConnectionFactory.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Network.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\EndpointI.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\Reference.h" "..\..\Ice\SharedContext.h" "..\..\Ice\ProxyFactory.h" "..\..\Ice\ObjectFactoryManager.h" "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\GC.h" "$(includedir)\Ice\Router.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\IceUtil\UUID.h" +$(ARCH)\$(CONFIG)\Communicator$(OBJEXT): ..\Communicator.cpp "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ConnectRequestHandler$(OBJEXT): ..\ConnectRequestHandler.cpp "..\..\Ice\ConnectRequestHandler.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\RequestHandler.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\RouterInfo.h" "..\..\Ice\ConnectionRequestHandler.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Network.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\ConnectionFactory$(OBJEXT): ..\ConnectionFactory.cpp "..\..\Ice\ConnectionFactory.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\ConnectionI.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\EndpointI.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\DefaultsAndOverrides.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\Transceiver.h" "..\..\Ice\Connector.h" "..\..\Ice\Acceptor.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\Reference.h" "$(includedir)\Ice\RouterF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "$(includedir)\IceUtil\Random.h" +$(ARCH)\$(CONFIG)\ConnectionI$(OBJEXT): ..\ConnectionI.cpp "$(includedir)\IceUtil\DisableWarnings.h" "..\..\Ice\ConnectionI.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\TraceUtil.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\Transceiver.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "..\..\Ice\ConnectionMonitor.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\EndpointI.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\Reference.h" "$(includedir)\Ice\RouterF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\ProxyFactory.h" +$(ARCH)\$(CONFIG)\ConnectionMonitor$(OBJEXT): ..\ConnectionMonitor.cpp "..\..\Ice\ConnectionMonitor.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\ConnectionMonitorF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\InstanceF.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Plugin.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\Direct.h" +$(ARCH)\$(CONFIG)\Connection$(OBJEXT): ..\Connection.cpp "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\Connector$(OBJEXT): ..\Connector.cpp "..\..\Ice\Connector.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "..\..\Ice\TransceiverF.h" +$(ARCH)\$(CONFIG)\ConnectionRequestHandler$(OBJEXT): ..\ConnectionRequestHandler.cpp "..\..\Ice\ConnectionRequestHandler.h" "..\..\Ice\RequestHandler.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\RouterInfo.h" +$(ARCH)\$(CONFIG)\Current$(OBJEXT): ..\Current.cpp "$(includedir)\Ice\Current.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\DefaultsAndOverrides$(OBJEXT): ..\DefaultsAndOverrides.cpp "..\..\Ice\DefaultsAndOverrides.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\DefaultsAndOverridesF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\Network.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\LocalException.h" +$(ARCH)\$(CONFIG)\Direct$(OBJEXT): ..\Direct.cpp "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\ServantManager.h" "$(includedir)\Ice\ServantLocator.h" "..\..\Ice\Reference.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\RouterF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\LocalException.h" +$(ARCH)\$(CONFIG)\DispatchInterceptor$(OBJEXT): ..\DispatchInterceptor.cpp "$(includedir)\Ice\DispatchInterceptor.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\IncomingRequest.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" +$(ARCH)\$(CONFIG)\DynamicLibrary$(OBJEXT): ..\DynamicLibrary.cpp "$(includedir)\Ice\DynamicLibrary.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\EndpointFactoryManager$(OBJEXT): ..\EndpointFactoryManager.cpp "..\..\Ice\EndpointFactoryManager.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\OpaqueEndpointI.h" "..\..\Ice\EndpointI.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\DefaultsAndOverrides.h" +$(ARCH)\$(CONFIG)\EndpointFactory$(OBJEXT): ..\EndpointFactory.cpp "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\EndpointFactoryF.h" "$(includedir)\Ice\Protocol.h" +$(ARCH)\$(CONFIG)\Endpoint$(OBJEXT): ..\Endpoint.cpp "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\EndpointI$(OBJEXT): ..\EndpointI.cpp "..\..\Ice\EndpointI.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\PropertiesI.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\EndpointTypes$(OBJEXT): ..\EndpointTypes.cpp "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\EventHandler$(OBJEXT): ..\EventHandler.cpp "..\..\Ice\EventHandler.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" +$(ARCH)\$(CONFIG)\Exception$(OBJEXT): ..\Exception.cpp "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\Unicode.h" +$(ARCH)\$(CONFIG)\FacetMap$(OBJEXT): ..\FacetMap.cpp "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\FactoryTable$(OBJEXT): ..\FactoryTable.cpp "$(includedir)\Ice\FactoryTable.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" +$(ARCH)\$(CONFIG)\FactoryTableInit$(OBJEXT): ..\FactoryTableInit.cpp "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\GC$(OBJEXT): ..\GC.cpp "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\GC.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" +$(ARCH)\$(CONFIG)\Identity$(OBJEXT): ..\Identity.cpp "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ImplicitContextI$(OBJEXT): ..\ImplicitContextI.cpp "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\ImplicitContext$(OBJEXT): ..\ImplicitContext.cpp "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\IncomingAsync$(OBJEXT): ..\IncomingAsync.cpp "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\ServantLocator.h" "..\..\Ice\ConnectionI.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\ReplyStatus.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\Incoming$(OBJEXT): ..\Incoming.cpp "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\IncomingAsync.h" "..\..\Ice\IncomingRequest.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ServantLocator.h" "..\..\Ice\ServantManager.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\ReplyStatus.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\Initialize$(OBJEXT): ..\Initialize.cpp "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\IceUtil\ArgVector.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\GC.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "..\..\Ice\CommunicatorI.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\PropertiesI.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\StreamI.h" "..\..\Ice\LoggerI.h" "$(includedir)\Ice\Logger.h" "$(includedir)\IceUtil\FileUtil.h" "..\..\Ice\Instance.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\Instance$(OBJEXT): ..\Instance.cpp "$(includedir)\IceUtil\DisableWarnings.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ProxyFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\DefaultsAndOverrides.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\Router.h" "..\..\Ice\LocatorInfo.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\Reference.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\ProxyFactory.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Network.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "..\..\Ice\ConnectionFactory.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\EndpointI.h" "..\..\Ice\ConnectionMonitor.h" "..\..\Ice\ObjectFactoryManager.h" "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "..\..\Ice\PropertiesI.h" "..\..\Ice\LoggerI.h" "$(includedir)\Ice\Logger.h" "$(includedir)\IceUtil\FileUtil.h" "..\..\Ice\EndpointFactoryManager.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\RetryQueue.h" "$(includedir)\Ice\DynamicLibrary.h" "..\..\Ice\PluginManagerI.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\IceUtil\UUID.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\IceUtil\MutexPtrLock.h" "..\..\Ice\UdpEndpointI.h" "$(includedir)\Ice\EndpointFactory.h" "StreamEndpointI.h" +$(ARCH)\$(CONFIG)\LocalException$(OBJEXT): ..\LocalException.cpp "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\LocalObject$(OBJEXT): ..\LocalObject.cpp "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" +$(ARCH)\$(CONFIG)\LocatorInfo$(OBJEXT): ..\LocatorInfo.cpp "..\..\Ice\LocatorInfo.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "..\..\Ice\LocatorInfoF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\EndpointI.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Reference.h" "$(includedir)\Ice\RouterF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" +$(ARCH)\$(CONFIG)\Locator$(OBJEXT): ..\Locator.cpp "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\LoggerI$(OBJEXT): ..\LoggerI.cpp "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\LoggerI.h" "$(includedir)\Ice\Logger.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\FileUtil.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\LocalException.h" +$(ARCH)\$(CONFIG)\Logger$(OBJEXT): ..\Logger.cpp "$(includedir)\Ice\Logger.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\LoggerUtil$(OBJEXT): ..\LoggerUtil.cpp "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Logger.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" +$(ARCH)\$(CONFIG)\Network$(OBJEXT): ..\Network.cpp "..\..\Ice\Network.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\InputUtil.h" +$(ARCH)\$(CONFIG)\ObjectAdapterFactory$(OBJEXT): ..\ObjectAdapterFactory.cpp "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "$(includedir)\IceUtil\UUID.h" +$(ARCH)\$(CONFIG)\ObjectAdapterI$(OBJEXT): ..\ObjectAdapterI.cpp "$(includedir)\IceUtil\UUID.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\ConnectionMonitor.h" "..\..\Ice\ProxyFactory.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\Reference.h" "$(includedir)\Ice\RouterF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\EndpointI.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\EndpointFactoryManager.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\ConnectionFactory.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "..\..\Ice\EventHandler.h" "..\..\Ice\ServantManager.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "..\..\Ice\LocatorInfo.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Router.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\PropertyNames.h" +$(ARCH)\$(CONFIG)\ObjectAdapter$(OBJEXT): ..\ObjectAdapter.cpp "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ObjectFactoryManager$(OBJEXT): ..\ObjectFactoryManager.cpp "..\..\Ice\ObjectFactoryManager.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" +$(ARCH)\$(CONFIG)\ObjectFactory$(OBJEXT): ..\ObjectFactory.cpp "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\Object$(OBJEXT): ..\Object.cpp "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\IncomingAsync.h" "..\..\Ice\IncomingRequest.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" +$(ARCH)\$(CONFIG)\OpaqueEndpointI$(OBJEXT): ..\OpaqueEndpointI.cpp "..\..\Ice\OpaqueEndpointI.h" "..\..\Ice\EndpointI.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\Base64.h" "..\..\Ice\HashUtil.h" +$(ARCH)\$(CONFIG)\OutgoingAsync$(OBJEXT): ..\OutgoingAsync.cpp "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\RequestHandler.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\LocatorInfo.h" "..\..\Ice\ProxyFactory.h" "..\..\Ice\RouterInfo.h" "..\..\Ice\ReplyStatus.h" "..\..\Ice\ThreadPool.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "..\..\Ice\RetryQueue.h" +$(ARCH)\$(CONFIG)\Outgoing$(OBJEXT): ..\Outgoing.cpp "$(includedir)\Ice\Outgoing.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\RequestHandler.h" "$(includedir)\Ice\OutgoingAsyncF.h" "..\..\Ice\ConnectionI.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ServantManagerF.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\ReplyStatus.h" +$(ARCH)\$(CONFIG)\PluginManagerI$(OBJEXT): ..\PluginManagerI.cpp "..\..\Ice\PluginManagerI.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\DynamicLibrary.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" +$(ARCH)\$(CONFIG)\Plugin$(OBJEXT): ..\Plugin.cpp "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\Process$(OBJEXT): ..\Process.cpp "$(includedir)\Ice\Process.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\PropertiesI$(OBJEXT): ..\PropertiesI.cpp "..\..\Ice\PropertiesI.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\FileUtil.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\PropertyNames.h" "$(includedir)\Ice\Logger.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" +$(ARCH)\$(CONFIG)\Properties$(OBJEXT): ..\Properties.cpp "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\PropertyNames$(OBJEXT): ..\PropertyNames.cpp "..\..\Ice\PropertyNames.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" +$(ARCH)\$(CONFIG)\Protocol$(OBJEXT): ..\Protocol.cpp "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" +$(ARCH)\$(CONFIG)\ProtocolPluginFacade$(OBJEXT): ..\ProtocolPluginFacade.cpp "$(includedir)\Ice\ProtocolPluginFacade.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\ProtocolPluginFacadeF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointFactoryF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\Protocol.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ProxyFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\EndpointFactoryManager.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\DefaultsAndOverrides.h" "$(includedir)\Ice\Endpoint.h" +$(ARCH)\$(CONFIG)\ProxyFactory$(OBJEXT): ..\ProxyFactory.cpp "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\ProxyFactory.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\Reference.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\LocatorInfo.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\TraceLevels.h" +$(ARCH)\$(CONFIG)\Proxy$(OBJEXT): ..\Proxy.cpp "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "..\..\Ice\ProxyFactory.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\ConnectRequestHandler.h" "..\..\Ice\RequestHandler.h" "..\..\Ice\RouterInfo.h" "..\..\Ice\ConnectionRequestHandler.h" "..\..\Ice\EndpointI.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Process.h" "..\..\Ice\LocatorInfo.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "..\..\Ice\EventHandler.h" +$(ARCH)\$(CONFIG)\ReferenceFactory$(OBJEXT): ..\ReferenceFactory.cpp "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\ReferenceFactory.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "..\..\Ice\ProxyFactory.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\EndpointI.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EndpointFactoryManager.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\Router.h" "..\..\Ice\LocatorInfo.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\PropertyNames.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\Reference$(OBJEXT): ..\Reference.cpp "..\..\Ice\Reference.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\ReferenceFactory.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "..\..\Ice\EndpointI.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\OpaqueEndpointI.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\RouterInfo.h" "$(includedir)\Ice\Router.h" "..\..\Ice\LocatorInfo.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "..\..\Ice\ConnectionI.h" "$(includedir)\Ice\Connection.h" "..\..\Ice\EventHandler.h" "..\..\Ice\ConnectionFactory.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\TraceLevels.h" "..\..\Ice\HashUtil.h" "..\..\Ice\DefaultsAndOverrides.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\Random.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\RetryQueue$(OBJEXT): ..\RetryQueue.cpp "..\..\Ice\RetryQueue.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" +$(ARCH)\$(CONFIG)\RequestHandler$(OBJEXT): ..\RequestHandler.cpp "..\..\Ice\RequestHandler.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\LocalObjectF.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" +$(ARCH)\$(CONFIG)\RouterInfo$(OBJEXT): ..\RouterInfo.cpp "..\..\Ice\RouterInfo.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "..\..\Ice\RouterInfoF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Router.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\Functional.h" "$(includedir)\IceUtil\Functional.h" "..\..\Ice\Reference.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\LocatorF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\SharedContext.h" "$(includedir)\Ice\Properties.h" +$(ARCH)\$(CONFIG)\Router$(OBJEXT): ..\Router.cpp "$(includedir)\Ice\Router.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\Selector$(OBJEXT): ..\Selector.cpp "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\Network.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\ThreadPoolF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" +$(ARCH)\$(CONFIG)\ServantLocator$(OBJEXT): ..\ServantLocator.cpp "$(includedir)\Ice\ServantLocator.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ServantManager$(OBJEXT): ..\ServantManager.cpp "..\..\Ice\ServantManager.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\ServantLocator.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\Plugin.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\Direct.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\SliceChecksumDict$(OBJEXT): ..\SliceChecksumDict.cpp "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\SliceChecksums$(OBJEXT): ..\SliceChecksums.cpp "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\MutexPtrLock.h" +$(ARCH)\$(CONFIG)\Stats$(OBJEXT): ..\Stats.cpp "$(includedir)\Ice\Stats.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\StreamI$(OBJEXT): ..\StreamI.cpp "..\..\Ice\StreamI.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\Ice\LocalException.h" +$(ARCH)\$(CONFIG)\Stream$(OBJEXT): ..\Stream.cpp "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Object.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" +$(ARCH)\$(CONFIG)\StringConverter$(OBJEXT): ..\StringConverter.cpp "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Config.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\IceUtil.h" "$(includedir)\IceUtil\AbstractMutex.h" "$(includedir)\IceUtil\Cache.h" "$(includedir)\IceUtil\CountDownLatch.h" "$(includedir)\IceUtil\CtrlCHandler.h" "$(includedir)\IceUtil\Functional.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\UUID.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\Dispatcher.h" "..\..\Ice\Instance.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Communicator.h" "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\Properties.h" +$(ARCH)\$(CONFIG)\ThreadPool$(OBJEXT): ..\ThreadPool.cpp "..\..\Ice\ThreadPool.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\EventHandler.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\Network.h" "..\..\Ice\Selector.h" "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\LoggerUtil.h" "..\..\Ice\ObjectAdapterFactory.h" "..\..\Ice\ObjectAdapterI.h" "$(includedir)\Ice\ObjectAdapter.h" "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\Endpoint.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\Properties.h" "..\..\Ice\TraceLevels.h" +$(ARCH)\$(CONFIG)\TraceLevels$(OBJEXT): ..\TraceLevels.cpp "..\..\Ice\TraceLevels.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" +$(ARCH)\$(CONFIG)\TraceUtil$(OBJEXT): ..\TraceUtil.cpp "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\IceUtil\StringUtil.h" "..\..\Ice\TraceUtil.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "$(includedir)\Ice\ProxyFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\Logger.h" "..\..\Ice\ReplyStatus.h" +$(ARCH)\$(CONFIG)\Transceiver$(OBJEXT): ..\Transceiver.cpp "..\..\Ice\Transceiver.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" +$(ARCH)\$(CONFIG)\UdpConnector$(OBJEXT): ..\UdpConnector.cpp "..\..\Ice\UdpConnector.h" "..\..\Ice\TransceiverF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "..\..\Ice\Connector.h" "..\..\Ice\ConnectorF.h" "$(includedir)\Ice\Protocol.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "..\..\Ice\UdpTransceiver.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "..\..\Ice\UdpEndpointI.h" "..\..\Ice\EndpointI.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\AcceptorF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "$(includedir)\Ice\LocalException.h" +$(ARCH)\$(CONFIG)\UdpEndpointI$(OBJEXT): ..\UdpEndpointI.cpp "..\..\Ice\UdpEndpointI.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\EndpointI.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\UdpConnector.h" "..\..\Ice\Connector.h" "..\..\Ice\UdpTransceiver.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\HashUtil.h" +$(ARCH)\$(CONFIG)\UdpTransceiver$(OBJEXT): ..\UdpTransceiver.cpp "..\..\Ice\UdpTransceiver.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ConnectionF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Stats.h" "$(includedir)\Ice\Properties.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\StreamAcceptor$(OBJEXT): .\StreamAcceptor.cpp "StreamAcceptor.h" "..\..\Ice\TransceiverF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "..\..\Ice\Acceptor.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\EventHandlerF.h" "StreamTransceiver.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Properties.h" "$(includedir)\IceUtil\StringUtil.h" +$(ARCH)\$(CONFIG)\StreamConnector$(OBJEXT): .\StreamConnector.cpp "StreamConnector.h" "..\..\Ice\TransceiverF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\InstanceF.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "..\..\Ice\Connector.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\EventHandlerF.h" "StreamTransceiver.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "StreamEndpointI.h" "..\..\Ice\EndpointI.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\AcceptorF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" +$(ARCH)\$(CONFIG)\StreamEndpointI$(OBJEXT): .\StreamEndpointI.cpp "StreamEndpointI.h" "$(includedir)\IceUtil\Config.h" "..\..\Ice\EndpointI.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\Handle.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\TransceiverF.h" "..\..\Ice\ConnectorF.h" "..\..\Ice\AcceptorF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LoggerF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\EndpointFactory.h" "$(includedir)\Ice\EndpointFactoryF.h" "StreamAcceptor.h" "..\..\Ice\TraceLevelsF.h" "..\..\Ice\Acceptor.h" "StreamConnector.h" "..\..\Ice\Connector.h" "StreamTransceiver.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "$(includedir)\Ice\LocalException.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\DefaultsAndOverrides.h" "..\..\Ice\HashUtil.h" +$(ARCH)\$(CONFIG)\StreamTransceiver$(OBJEXT): .\StreamTransceiver.cpp "StreamTransceiver.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "..\..\Ice\TraceLevelsF.h" "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\StatsF.h" "..\..\Ice\Transceiver.h" "..\..\Ice\TransceiverF.h" "$(includedir)\Ice\ConnectionF.h" "..\..\Ice\Network.h" "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "..\..\Ice\EventHandlerF.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "..\..\Ice\Instance.h" "$(includedir)\IceUtil\RecMutex.h" "..\..\Ice\DefaultsAndOverridesF.h" "..\..\Ice\RouterInfoF.h" "..\..\Ice\LocatorInfoF.h" "..\..\Ice\ReferenceFactoryF.h" "..\..\Ice\ThreadPoolF.h" "$(includedir)\Ice\ConnectionFactoryF.h" "$(includedir)\Ice\ConnectionMonitorF.h" "..\..\Ice\ObjectFactoryManagerF.h" "$(includedir)\Ice\ObjectAdapterFactoryF.h" "..\..\Ice\EndpointFactoryManagerF.h" "..\..\Ice\RetryQueueF.h" "$(includedir)\Ice\DynamicLibraryF.h" "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\Initialize.h" "$(includedir)\Ice\Dispatcher.h" "$(includedir)\Ice\StringConverter.h" "$(includedir)\Ice\Plugin.h" "$(includedir)\IceUtil\Unicode.h" "..\..\Ice\ImplicitContextI.h" "$(includedir)\Ice\ImplicitContext.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\FacetMap.h" "$(includedir)\Ice\Process.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "..\..\Ice\TraceLevels.h" "$(includedir)\Ice\LoggerUtil.h" "$(includedir)\Ice\Stats.h" "$(includedir)\Ice\Properties.h" +$(ARCH)\$(CONFIG)\EndpointInfo$(OBJEXT): .\EndpointInfo.cpp "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ConnectionInfo$(OBJEXT): .\ConnectionInfo.cpp "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Connection.h" "$(includedir)\Ice\Endpoint.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\CommunicatorF$(OBJEXT): ..\CommunicatorF.cpp "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ConnectionF$(OBJEXT): ..\ConnectionF.cpp "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\EndpointF$(OBJEXT): ..\EndpointF.cpp "$(includedir)\Ice\EndpointF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ImplicitContextF$(OBJEXT): ..\ImplicitContextF.cpp "$(includedir)\Ice\ImplicitContextF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\LocatorF$(OBJEXT): ..\LocatorF.cpp "$(includedir)\Ice\LocatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\LoggerF$(OBJEXT): ..\LoggerF.cpp "$(includedir)\Ice\LoggerF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ObjectAdapterF$(OBJEXT): ..\ObjectAdapterF.cpp "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ObjectFactoryF$(OBJEXT): ..\ObjectFactoryF.cpp "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\PluginF$(OBJEXT): ..\PluginF.cpp "$(includedir)\Ice\PluginF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ProcessF$(OBJEXT): ..\ProcessF.cpp "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\PropertiesF$(OBJEXT): ..\PropertiesF.cpp "$(includedir)\Ice\PropertiesF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\RouterF$(OBJEXT): ..\RouterF.cpp "$(includedir)\Ice\RouterF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\ServantLocatorF$(OBJEXT): ..\ServantLocatorF.cpp "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" +$(ARCH)\$(CONFIG)\StatsF$(OBJEXT): ..\StatsF.cpp "$(includedir)\Ice\StatsF.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h" + +$(headerdir)\Ice\BuiltinSequences.h ..\BuiltinSequences.cpp: "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\CommunicatorF.h ..\CommunicatorF.cpp: "$(slicedir)\Ice\CommunicatorF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Communicator.h ..\Communicator.cpp: "$(slicedir)\Ice\Communicator.ice" "$(slicedir)\Ice\LoggerF.ice" "$(slicedir)\Ice\StatsF.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\ObjectFactoryF.ice" "$(slicedir)\Ice\RouterF.ice" "$(slicedir)\Ice\LocatorF.ice" "$(slicedir)\Ice\PluginF.ice" "$(slicedir)\Ice\ImplicitContextF.ice" "$(slicedir)\Ice\Current.ice" "$(slicedir)\Ice\ConnectionF.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ConnectionF.h ..\ConnectionF.cpp: "$(slicedir)\Ice\ConnectionF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Connection.h ..\Connection.cpp: "$(slicedir)\Ice\Connection.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\Endpoint.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Current.h ..\Current.cpp: "$(slicedir)\Ice\Current.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\ConnectionF.ice" "$(slicedir)\Ice\Identity.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Endpoint.h ..\Endpoint.cpp: "$(slicedir)\Ice\Endpoint.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\EndpointF.h ..\EndpointF.cpp: "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\EndpointTypes.h ..\EndpointTypes.cpp: "$(slicedir)\Ice\EndpointTypes.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\FacetMap.h ..\FacetMap.cpp: "$(slicedir)\Ice\FacetMap.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Identity.h ..\Identity.cpp: "$(slicedir)\Ice\Identity.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ImplicitContextF.h ..\ImplicitContextF.cpp: "$(slicedir)\Ice\ImplicitContextF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ImplicitContext.h ..\ImplicitContext.cpp: "$(slicedir)\Ice\ImplicitContext.ice" "$(slicedir)\Ice\LocalException.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Current.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\ConnectionF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\LocalException.h ..\LocalException.cpp: "$(slicedir)\Ice\LocalException.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\LocatorF.h ..\LocatorF.cpp: "$(slicedir)\Ice\LocatorF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Locator.h ..\Locator.cpp: "$(slicedir)\Ice\Locator.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\ProcessF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\LoggerF.h ..\LoggerF.cpp: "$(slicedir)\Ice\LoggerF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Logger.h ..\Logger.cpp: "$(slicedir)\Ice\Logger.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ObjectAdapterF.h ..\ObjectAdapterF.cpp: "$(slicedir)\Ice\ObjectAdapterF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ObjectAdapter.h ..\ObjectAdapter.cpp: "$(slicedir)\Ice\ObjectAdapter.ice" "$(slicedir)\Ice\CommunicatorF.ice" "$(slicedir)\Ice\ServantLocatorF.ice" "$(slicedir)\Ice\LocatorF.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\FacetMap.ice" "$(slicedir)\Ice\Endpoint.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ObjectFactoryF.h ..\ObjectFactoryF.cpp: "$(slicedir)\Ice\ObjectFactoryF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ObjectFactory.h ..\ObjectFactory.cpp: "$(slicedir)\Ice\ObjectFactory.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\PluginF.h ..\PluginF.cpp: "$(slicedir)\Ice\PluginF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Plugin.h ..\Plugin.cpp: "$(slicedir)\Ice\Plugin.ice" "$(slicedir)\Ice\LoggerF.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ProcessF.h ..\ProcessF.cpp: "$(slicedir)\Ice\ProcessF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Process.h ..\Process.cpp: "$(slicedir)\Ice\Process.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\PropertiesF.h ..\PropertiesF.cpp: "$(slicedir)\Ice\PropertiesF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Properties.h ..\Properties.cpp: "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\RouterF.h ..\RouterF.cpp: "$(slicedir)\Ice\RouterF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Router.h ..\Router.cpp: "$(slicedir)\Ice\Router.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ServantLocatorF.h ..\ServantLocatorF.cpp: "$(slicedir)\Ice\ServantLocatorF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\ServantLocator.h ..\ServantLocator.cpp: "$(slicedir)\Ice\ServantLocator.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\Current.ice" "$(slicedir)\Ice\ConnectionF.ice" "$(slicedir)\Ice\Identity.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\SliceChecksumDict.h ..\SliceChecksumDict.cpp: "$(slicedir)\Ice\SliceChecksumDict.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\StatsF.h ..\StatsF.cpp: "$(slicedir)\Ice\StatsF.ice" "$(SLICE2CPP)" +$(headerdir)\Ice\Stats.h ..\Stats.cpp: "$(slicedir)\Ice\Stats.ice" "$(SLICE2CPP)" + +$(headerdir)\IceSSL\EndpointInfo.h .\EndpointInfo.cpp: "$(slicedir)\IceSSL\EndpointInfo.ice" "$(slicedir)\Ice\Endpoint.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" +$(headerdir)\IceSSL\ConnectionInfo.h .\ConnectionInfo.cpp: "$(slicedir)\IceSSL\ConnectionInfo.ice" "$(slicedir)\Ice\Connection.ice" "$(slicedir)\Ice\ObjectAdapterF.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\Endpoint.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\EndpointF.ice" "$(SLICE2CPP)" + diff --git a/cpp/src/Ice/winrt/.gitignore b/cpp/src/Ice/winrt/.gitignore new file mode 100644 index 00000000000..1b4414f868b --- /dev/null +++ b/cpp/src/Ice/winrt/.gitignore @@ -0,0 +1,2 @@ +ConnectionInfo.cpp +EndpointInfo.cpp
\ No newline at end of file diff --git a/cpp/src/Ice/winrt/Makefile.mak b/cpp/src/Ice/winrt/Makefile.mak new file mode 100644 index 00000000000..14e374b8710 --- /dev/null +++ b/cpp/src/Ice/winrt/Makefile.mak @@ -0,0 +1,272 @@ +# ********************************************************************** +# +# Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +# +# This copy of Ice is licensed to you under the terms described in the +# ICE_LICENSE file included in this distribution. +# +# ********************************************************************** + +top_srcdir = ..\..\.. +LIBNAME = $(SDK_LIBRARY_PATH)\ice.lib +TARGETS = $(LIBNAME) +SOURCE_DIR = .. + +OBJS = $(ARCH)\$(CONFIG)\Acceptor.obj \ + $(ARCH)\$(CONFIG)\Base64.obj \ + $(ARCH)\$(CONFIG)\Buffer.obj \ + $(ARCH)\$(CONFIG)\BasicStream.obj \ + $(ARCH)\$(CONFIG)\BuiltinSequences.obj \ + $(ARCH)\$(CONFIG)\CommunicatorI.obj \ + $(ARCH)\$(CONFIG)\Communicator.obj \ + $(ARCH)\$(CONFIG)\ConnectRequestHandler.obj \ + $(ARCH)\$(CONFIG)\ConnectionFactory.obj \ + $(ARCH)\$(CONFIG)\ConnectionI.obj \ + $(ARCH)\$(CONFIG)\ConnectionMonitor.obj \ + $(ARCH)\$(CONFIG)\Connection.obj \ + $(ARCH)\$(CONFIG)\Connector.obj \ + $(ARCH)\$(CONFIG)\ConnectionRequestHandler.obj \ + $(ARCH)\$(CONFIG)\Current.obj \ + $(ARCH)\$(CONFIG)\DefaultsAndOverrides.obj \ + $(ARCH)\$(CONFIG)\Direct.obj \ + $(ARCH)\$(CONFIG)\DispatchInterceptor.obj \ + $(ARCH)\$(CONFIG)\DynamicLibrary.obj \ + $(ARCH)\$(CONFIG)\EndpointFactoryManager.obj \ + $(ARCH)\$(CONFIG)\EndpointFactory.obj \ + $(ARCH)\$(CONFIG)\Endpoint.obj \ + $(ARCH)\$(CONFIG)\EndpointI.obj \ + $(ARCH)\$(CONFIG)\EndpointTypes.obj \ + $(ARCH)\$(CONFIG)\EventHandler.obj \ + $(ARCH)\$(CONFIG)\Exception.obj \ + $(ARCH)\$(CONFIG)\FacetMap.obj \ + $(ARCH)\$(CONFIG)\FactoryTable.obj \ + $(ARCH)\$(CONFIG)\FactoryTableInit.obj \ + $(ARCH)\$(CONFIG)\GC.obj \ + $(ARCH)\$(CONFIG)\Identity.obj \ + $(ARCH)\$(CONFIG)\ImplicitContextI.obj \ + $(ARCH)\$(CONFIG)\ImplicitContext.obj \ + $(ARCH)\$(CONFIG)\IncomingAsync.obj \ + $(ARCH)\$(CONFIG)\Incoming.obj \ + $(ARCH)\$(CONFIG)\Initialize.obj \ + $(ARCH)\$(CONFIG)\Instance.obj \ + $(ARCH)\$(CONFIG)\LocalException.obj \ + $(ARCH)\$(CONFIG)\LocalObject.obj \ + $(ARCH)\$(CONFIG)\LocatorInfo.obj \ + $(ARCH)\$(CONFIG)\Locator.obj \ + $(ARCH)\$(CONFIG)\LoggerI.obj \ + $(ARCH)\$(CONFIG)\Logger.obj \ + $(ARCH)\$(CONFIG)\LoggerUtil.obj \ + $(ARCH)\$(CONFIG)\Network.obj \ + $(ARCH)\$(CONFIG)\ObjectAdapterFactory.obj \ + $(ARCH)\$(CONFIG)\ObjectAdapterI.obj \ + $(ARCH)\$(CONFIG)\ObjectAdapter.obj \ + $(ARCH)\$(CONFIG)\ObjectFactoryManager.obj \ + $(ARCH)\$(CONFIG)\ObjectFactory.obj \ + $(ARCH)\$(CONFIG)\Object.obj \ + $(ARCH)\$(CONFIG)\OpaqueEndpointI.obj \ + $(ARCH)\$(CONFIG)\OutgoingAsync.obj \ + $(ARCH)\$(CONFIG)\Outgoing.obj \ + $(ARCH)\$(CONFIG)\PluginManagerI.obj \ + $(ARCH)\$(CONFIG)\Plugin.obj \ + $(ARCH)\$(CONFIG)\Process.obj \ + $(ARCH)\$(CONFIG)\PropertiesI.obj \ + $(ARCH)\$(CONFIG)\Properties.obj \ + $(ARCH)\$(CONFIG)\PropertyNames.obj \ + $(ARCH)\$(CONFIG)\Protocol.obj \ + $(ARCH)\$(CONFIG)\ProtocolPluginFacade.obj \ + $(ARCH)\$(CONFIG)\ProxyFactory.obj \ + $(ARCH)\$(CONFIG)\Proxy.obj \ + $(ARCH)\$(CONFIG)\ReferenceFactory.obj \ + $(ARCH)\$(CONFIG)\Reference.obj \ + $(ARCH)\$(CONFIG)\RetryQueue.obj \ + $(ARCH)\$(CONFIG)\RequestHandler.obj \ + $(ARCH)\$(CONFIG)\RouterInfo.obj \ + $(ARCH)\$(CONFIG)\Router.obj \ + $(ARCH)\$(CONFIG)\Selector.obj \ + $(ARCH)\$(CONFIG)\ServantLocator.obj \ + $(ARCH)\$(CONFIG)\ServantManager.obj \ + $(ARCH)\$(CONFIG)\SliceChecksumDict.obj \ + $(ARCH)\$(CONFIG)\SliceChecksums.obj \ + $(ARCH)\$(CONFIG)\Stats.obj \ + $(ARCH)\$(CONFIG)\StreamI.obj \ + $(ARCH)\$(CONFIG)\Stream.obj \ + $(ARCH)\$(CONFIG)\StringConverter.obj \ + $(ARCH)\$(CONFIG)\ThreadPool.obj \ + $(ARCH)\$(CONFIG)\TraceLevels.obj \ + $(ARCH)\$(CONFIG)\TraceUtil.obj \ + $(ARCH)\$(CONFIG)\Transceiver.obj \ + $(ARCH)\$(CONFIG)\UdpConnector.obj \ + $(ARCH)\$(CONFIG)\UdpEndpointI.obj \ + $(ARCH)\$(CONFIG)\UdpTransceiver.obj + +LOCAL_OBJS = $(ARCH)\$(CONFIG)\StreamAcceptor.obj \ + $(ARCH)\$(CONFIG)\StreamConnector.obj \ + $(ARCH)\$(CONFIG)\StreamEndpointI.obj \ + $(ARCH)\$(CONFIG)\StreamTransceiver.obj \ + $(ARCH)\$(CONFIG)\EndpointInfo.obj \ + $(ARCH)\$(CONFIG)\ConnectionInfo.obj + +SLICE_CORE_SRCS = $(slicedir)\Ice\BuiltinSequences.ice \ + $(slicedir)\Ice\CommunicatorF.ice \ + $(slicedir)\Ice\Communicator.ice \ + $(slicedir)\Ice\ConnectionF.ice \ + $(slicedir)\Ice\Connection.ice \ + $(slicedir)\Ice\Current.ice \ + $(slicedir)\Ice\Endpoint.ice \ + $(slicedir)\Ice\EndpointF.ice \ + $(slicedir)\Ice\EndpointTypes.ice \ + $(slicedir)\Ice\FacetMap.ice \ + $(slicedir)\Ice\Identity.ice \ + $(slicedir)\Ice\ImplicitContextF.ice \ + $(slicedir)\Ice\ImplicitContext.ice \ + $(slicedir)\Ice\LocalException.ice \ + $(slicedir)\Ice\LocatorF.ice \ + $(slicedir)\Ice\Locator.ice \ + $(slicedir)\Ice\LoggerF.ice \ + $(slicedir)\Ice\Logger.ice \ + $(slicedir)\Ice\ObjectAdapterF.ice \ + $(slicedir)\Ice\ObjectAdapter.ice \ + $(slicedir)\Ice\ObjectFactoryF.ice \ + $(slicedir)\Ice\ObjectFactory.ice \ + $(slicedir)\Ice\PluginF.ice \ + $(slicedir)\Ice\Plugin.ice \ + $(slicedir)\Ice\ProcessF.ice \ + $(slicedir)\Ice\Process.ice \ + $(slicedir)\Ice\PropertiesF.ice \ + $(slicedir)\Ice\Properties.ice \ + $(slicedir)\Ice\RouterF.ice \ + $(slicedir)\Ice\Router.ice \ + $(slicedir)\Ice\ServantLocatorF.ice \ + $(slicedir)\Ice\ServantLocator.ice \ + $(slicedir)\Ice\SliceChecksumDict.ice \ + $(slicedir)\Ice\StatsF.ice \ + $(slicedir)\Ice\Stats.ice + +SLICE_SSL_SRCS = $(slicedir)\IceSSL\EndpointInfo.ice \ + $(slicedir)\IceSSL\ConnectionInfo.ice + +SRCS = $(OBJS:.obj=.cpp) +SRCS = $(SRCS:x86\=) +SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:Retail\=..\) +SRCS = $(SRCS:Debug\=..\) + +LOCAL_SRCS = $(LOCAL_OBJS:.obj=.cpp) +LOCAL_SRCS = $(LOCAL_SRCS:x86\=) +LOCAL_SRCS = $(LOCAL_SRCS:x64\=) +LOCAL_SRCS = $(LOCAL_SRCS:Retail\=.\) +LOCAL_SRCS = $(LOCAL_SRCS:Debug\=.\) + +SRCS = $(SRCS) \ + $(LOCAL_SRCS) \ + ..\CommunicatorF.cpp \ + ..\ConnectionF.cpp \ + ..\EndpointF.cpp \ + ..\ImplicitContextF.cpp \ + ..\LocatorF.cpp \ + ..\LoggerF.cpp \ + ..\ObjectAdapterF.cpp \ + ..\ObjectFactoryF.cpp \ + ..\PluginF.cpp \ + ..\ProcessF.cpp \ + ..\PropertiesF.cpp \ + ..\RouterF.cpp \ + ..\ServantLocatorF.cpp \ + ..\StatsF.cpp + +HDIR = $(headerdir)\Ice +SDIR = $(slicedir)\Ice + +CPPFLAGS = -I..\.. $(CPPFLAGS) -DICE_API_EXPORTS -DWIN32_LEAN_AND_MEAN +CORE_SLICE2CPPFLAGS = --ice --include-dir Ice --dll-export ICE_API $(SLICE2CPPFLAGS) +SSL_SLICE2CPPFLAGS = --ice --include-dir IceSSL --dll-export ICE_SSL_API $(SLICE2CPPFLAGS) + +!include $(top_srcdir)\config\Make.rules.mak + +RES_FILE = $(SOURCE_DIR)\Ice.res + +$(LIBNAME): $(LOCAL_OBJS) $(OBJS) $(RES_FILE) sdks + $(AR) $(ARFLAGS) $(OBJS) $(LOCAL_OBJS) /out:$(LIBNAME) + +$(HDIR)\BuiltinSequences.h ..\BuiltinSequences.cpp: $(slicedir)\Ice\BuiltinSequences.ice $(SLICE2CPP) + del /q $(HDIR)\BuiltinSequences.h ..\BuiltinSequences.cpp + $(SLICE2CPP) $(CORE_SLICE2CPPFLAGS) --stream $(slicedir)\Ice\BuiltinSequences.ice + move BuiltinSequences.cpp .. + move BuiltinSequences.h $(HDIR) + +Service.obj: $(SOURCE_DIR)\EventLoggerMsg.h + +Ice.res: $(SOURCE_DIR)\EventLoggerMsg.rc + +.cpp{$(ARCH)\$(CONFIG)\}.obj:: + @if not exist "$(ARCH)\$(CONFIG)" mkdir $(ARCH)\$(CONFIG) + $(CXX) /c /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ $(CPPFLAGS) $(CXXFLAGS) $< + +{$(slicedir)\Ice}.ice.cpp: + @echo c + del /q $(headerdir)\Ice\$(*F).h $(*F).cpp + "$(SLICE2CPP)" $(CORE_SLICE2CPPFLAGS) $< + move $(*F).h $(headerdir)\Ice + move $(*F).cpp .. + +{$(slicedir)\IceSSL}.ice.cpp: + @echo d + del /q $(headerdir)\IceSSL\$(*F).h $(*F).cpp + "$(SLICE2CPP)" $(SSL_SLICE2CPPFLAGS) $< + move $(*F).h $(headerdir)\IceSSL + +depend:: + del /q .depend.mak + +.cpp.depend: + $(CXX) /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ /Zs /showIncludes $(CXXFLAGS) $(CPPFLAGS) $< 2>&1 | python.exe $(ice_dir)/config/makedepend-winrt.py $< + +depend:: $(ARCH)\$(CONFIG) $(SLICE_CORE_SRCS) $(SLICE_SSL_SRCS) $(SRCS) $(SRCS_DEPEND) + $(SLICE2CPP) --depend $(CORE_SLICE2CPPFLAGS) $(SLICE_CORE_SRCS) | python.exe $(ice_dir)\config\makedepend-winrt.py "$$(headerdir)\Ice" + $(SLICE2CPP) --depend $(SSL_SLICE2CPPFLAGS) $(SLICE_SSL_SRCS) | python.exe $(ice_dir)\config\makedepend-winrt.py "$$(headerdir)\IceSSL" "." + +# These files are not automatically generated because VC2008 Express doesn't have mc.exe +#EventLoggerMsg.h EventLoggerMsg.rc: EventLoggerMsg.mc +# mc EventLoggerMsg.mc + +clean:: + -del /q $(SOURCE_DIR)\BuiltinSequences.cpp $(HDIR)\BuiltinSequences.h + -del /q $(SOURCE_DIR)\CommunicatorF.cpp $(HDIR)\CommunicatorF.h + -del /q $(SOURCE_DIR)\Communicator.cpp $(HDIR)\Communicator.h + -del /q $(SOURCE_DIR)\ConnectionF.cpp $(HDIR)\ConnectionF.h + -del /q $(SOURCE_DIR)\Connection.cpp $(HDIR)\Connection.h + -del /q $(SOURCE_DIR)\Current.cpp $(HDIR)\Current.h + -del /q $(SOURCE_DIR)\Endpoint.cpp $(HDIR)\Endpoint.h + -del /q $(SOURCE_DIR)\EndpointF.cpp $(HDIR)\EndpointF.h + -del /q $(SOURCE_DIR)\EndpointTypes.cpp $(HDIR)\EndpointTypes.h + -del /q $(SOURCE_DIR)\FacetMap.cpp $(HDIR)\FacetMap.h + -del /q $(SOURCE_DIR)\ImplicitContextF.cpp $(HDIR)\ImplicitContextF.h + -del /q $(SOURCE_DIR)\ImplicitContext.cpp $(HDIR)\ImplicitContext.h + -del /q $(SOURCE_DIR)\Identity.cpp $(HDIR)\Identity.h + -del /q $(SOURCE_DIR)\LocalException.cpp $(HDIR)\LocalException.h + -del /q $(SOURCE_DIR)\LocatorF.cpp $(HDIR)\LocatorF.h + -del /q $(SOURCE_DIR)\Locator.cpp $(HDIR)\Locator.h + -del /q $(SOURCE_DIR)\LoggerF.cpp $(HDIR)\LoggerF.h + -del /q $(SOURCE_DIR)\Logger.cpp $(HDIR)\Logger.h + -del /q $(SOURCE_DIR)\ObjectAdapterF.cpp $(HDIR)\ObjectAdapterF.h + -del /q $(SOURCE_DIR)\ObjectAdapter.cpp $(HDIR)\ObjectAdapter.h + -del /q $(SOURCE_DIR)\ObjectFactoryF.cpp $(HDIR)\ObjectFactoryF.h + -del /q $(SOURCE_DIR)\ObjectFactory.cpp $(HDIR)\ObjectFactory.h + -del /q $(SOURCE_DIR)\PluginF.cpp $(HDIR)\PluginF.h + -del /q $(SOURCE_DIR)\Plugin.cpp $(HDIR)\Plugin.h + -del /q $(SOURCE_DIR)\ProcessF.cpp $(HDIR)\ProcessF.h + -del /q $(SOURCE_DIR)\Process.cpp $(HDIR)\Process.h + -del /q $(SOURCE_DIR)\PropertiesF.cpp $(HDIR)\PropertiesF.h + -del /q $(SOURCE_DIR)\Properties.cpp $(HDIR)\Properties.h + -del /q $(SOURCE_DIR)\RouterF.cpp $(HDIR)\RouterF.h + -del /q $(SOURCE_DIR)\Router.cpp $(HDIR)\Router.h + -del /q $(SOURCE_DIR)\ServantLocatorF.cpp $(HDIR)\ServantLocatorF.h + -del /q $(SOURCE_DIR)\ServantLocator.cpp $(HDIR)\ServantLocator.h + -del /q $(SOURCE_DIR)\SliceChecksumDict.cpp $(HDIR)\SliceChecksumDict.h + -del /q $(SOURCE_DIR)\StatsF.cpp $(HDIR)\StatsF.h + -del /q $(SOURCE_DIR)\Stats.cpp $(HDIR)\Stats.h + -del /q EndpointInfo.cpp $(headerdir)\IceSSL\EndpointInfo.h + -del /q ConnectionInfo.cpp $(headerdir)\IceSSL\ConnectionInfo.h + -del /q $(RES_FILE) + +!include .depend.mak diff --git a/cpp/src/Ice/winrt/StreamAcceptor.cpp b/cpp/src/Ice/winrt/StreamAcceptor.cpp new file mode 100644 index 00000000000..dd113e904c9 --- /dev/null +++ b/cpp/src/Ice/winrt/StreamAcceptor.cpp @@ -0,0 +1,217 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. 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/winrt/StreamAcceptor.h> +#include <Ice/winrt/StreamTransceiver.h> + +#include <Ice/Instance.h> +#include <Ice/TraceLevels.h> +#include <Ice/LoggerUtil.h> +#include <Ice/Exception.h> +#include <Ice/Properties.h> +#include <IceUtil/StringUtil.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Storage::Streams; +using namespace Windows::Networking; +using namespace Windows::Networking::Sockets; + +NativeInfoPtr +IceInternal::StreamAcceptor::getNativeInfo() +{ + return this; +} + +void +IceInternal::StreamAcceptor::setCompletedHandler(SocketOperationCompletedHandler^ handler) +{ + _completedHandler = handler; +} + +void +IceInternal::StreamAcceptor::close() +{ + if(_traceLevels->network >= 1) + { + Trace out(_logger, _traceLevels->networkCat); + out << "stopping to accept " << typeToString(_type) << " connections at " << toString(); + } + + + IceUtil::Mutex::Lock lock(_mutex); + if(_acceptPending) + { + assert(_accepted.empty()); + _completedHandler(SocketOperationRead); + _acceptPending = false; + } + else if(!_accepted.empty()) + { + for(deque<StreamSocket^>::const_iterator p = _accepted.begin(); p != _accepted.end(); ++p) + { + closeSocket(*p); + } + _accepted.clear(); + } + + SOCKET fd = _fd; + _fd = INVALID_SOCKET; + closeSocket(fd); +} + +void +IceInternal::StreamAcceptor::listen() +{ + if(_traceLevels->network >= 1) + { + Trace out(_logger, _traceLevels->networkCat); + out << "accepting " << typeToString(_type) << " connections at " << toString(); + + vector<string> interfaces = + getHostsForEndpointExpand(inetAddrToString(_addr), _instance->protocolSupport(), true); + if(!interfaces.empty()) + { + out << "\nlocal interfaces: "; + out << IceUtilInternal::joinString(interfaces, ", "); + } + } +} + +void +IceInternal::StreamAcceptor::startAccept() +{ + assert(_fd != INVALID_SOCKET); + + // + // If there are already sockets waiting to be accepted, we just + // notify the selector that the acceptor is ready for acceting the + // new socket. Otherwise, we set the _acceptPending flag, when a + // new socket connection event is received, the message handler + // will notify the selector. + // + IceUtil::Mutex::Lock lock(_mutex); + assert(!_acceptPending); + if(!_accepted.empty()) + { + _completedHandler(SocketOperationRead); + } + else + { + _acceptPending = true; + } +} + +void +IceInternal::StreamAcceptor::finishAccept() +{ + // + // Nothing to do, we just check there's at least one accepted + // socket or the acceptor was closed. + // + IceUtil::Mutex::Lock lock(_mutex); + assert(!_acceptPending && (!_accepted.empty() || _fd == INVALID_SOCKET)); +} + +TransceiverPtr +IceInternal::StreamAcceptor::accept() +{ + if(_fd == INVALID_SOCKET) // Acceptor closed. + { + assert(_accepted.empty()); + throw SocketException(__FILE__, __LINE__); + } + + StreamSocket^ fd; + { + IceUtil::Mutex::Lock lock(_mutex); + assert(!_accepted.empty()); + fd = _accepted.front(); + _accepted.pop_front(); + } + + if(_traceLevels->network >= 1) + { + Trace out(_logger, _traceLevels->networkCat); + out << "accepted " << typeToString(_type) << " connection\n" << fdToString(fd); + } + return new StreamTransceiver(_instance, _type, fd, true); +} + +string +IceInternal::StreamAcceptor::toString() const +{ + return addrToString(_addr); +} + +int +IceInternal::StreamAcceptor::effectivePort() const +{ + return getPort(_addr); +} + +IceInternal::StreamAcceptor::StreamAcceptor(const InstancePtr& instance, Ice::Short type, const string& host, int port, + ProtocolSupport protocol) : + _instance(instance), + _type(type), + _traceLevels(instance->traceLevels()), + _logger(instance->initializationData().logger), + _addr(getAddressForServer(host, port, protocol)), + _acceptPending(false) +{ + _fd = ref new StreamSocketListener(); + + safe_cast<StreamSocketListener^>(_fd)->ConnectionReceived += + ref new TypedEventHandler<StreamSocketListener^, StreamSocketListenerConnectionReceivedEventArgs^>( + [=](StreamSocketListener^, StreamSocketListenerConnectionReceivedEventArgs^ args) + { + queueAcceptedSocket(args->Socket); + }); + + if(_traceLevels->network >= 2) + { + Trace out(_logger, _traceLevels->networkCat); + out << "attempting to bind to " << typeToString(_type) << " socket " << toString(); + } + const_cast<Address&>(_addr) = doBind(_fd, _addr); +} + +IceInternal::StreamAcceptor::~StreamAcceptor() +{ + assert(_fd == INVALID_SOCKET); +} + +void +IceInternal::StreamAcceptor::queueAcceptedSocket(StreamSocket^ socket) +{ + IceUtil::Mutex::Lock lock(_mutex); + if(_fd == INVALID_SOCKET) // Acceptor was closed. + { + closeSocket(socket); + return; + } + _accepted.push_back(socket); + + // + // If the acceptor is waiting for a socket to be accepted, notify + // the selector that the acceptor is ready for "read". This will + // in turn caused finishAccept() and accept() to be called by the + // thread pool. If the acceptor isn't ready to accept the socket, + // it is just queued, when startAccept is called it will be dequed. + // + if(_acceptPending) + { + _completedHandler(SocketOperationRead); + _acceptPending = false; + } +} diff --git a/cpp/src/Ice/winrt/StreamAcceptor.h b/cpp/src/Ice/winrt/StreamAcceptor.h new file mode 100644 index 00000000000..d5f84422442 --- /dev/null +++ b/cpp/src/Ice/winrt/StreamAcceptor.h @@ -0,0 +1,69 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_STREAM_ACCEPTOR_H +#define ICE_STREAM_ACCEPTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Acceptor.h> +#include <Ice/Network.h> + +#include <IceUtil/Mutex.h> + +#include <deque> + +namespace IceInternal +{ + +class StreamEndpoint; + +class StreamAcceptor : public Acceptor, public NativeInfo +{ +public: + + virtual NativeInfoPtr getNativeInfo(); + virtual void setCompletedHandler(SocketOperationCompletedHandler^); + + virtual void close(); + virtual void listen(); + + virtual void startAccept(); + virtual void finishAccept(); + + virtual TransceiverPtr accept(); + virtual std::string toString() const; + + int effectivePort() const; + +private: + + StreamAcceptor(const InstancePtr&, Ice::Short, const std::string&, int, ProtocolSupport); + virtual ~StreamAcceptor(); + friend class StreamEndpointI; + + virtual void queueAcceptedSocket(Windows::Networking::Sockets::StreamSocket^); + + const InstancePtr _instance; + const Ice::Short _type; + const TraceLevelsPtr _traceLevels; + const ::Ice::LoggerPtr _logger; + const Address _addr; + + IceUtil::Mutex _mutex; + bool _acceptPending; + SocketOperationCompletedHandler^ _completedHandler; + std::deque<Windows::Networking::Sockets::StreamSocket^> _accepted; +}; + +} +#endif + diff --git a/cpp/src/Ice/winrt/StreamConnector.cpp b/cpp/src/Ice/winrt/StreamConnector.cpp new file mode 100644 index 00000000000..88e26aae77b --- /dev/null +++ b/cpp/src/Ice/winrt/StreamConnector.cpp @@ -0,0 +1,152 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. 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/winrt/StreamConnector.h> +#include <Ice/winrt/StreamTransceiver.h> +#include <Ice/winrt/StreamEndpointI.h> + +#include <Ice/Instance.h> +#include <Ice/TraceLevels.h> +#include <Ice/LoggerUtil.h> +#include <Ice/Network.h> +#include <Ice/Exception.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +TransceiverPtr +IceInternal::StreamConnector::connect() +{ + if(_traceLevels->network >= 2) + { + Trace out(_logger, _traceLevels->networkCat); + out << "trying to establish " << typeToString(_type) << " connection to " << toString(); + } + + try + { + TransceiverPtr transceiver = new StreamTransceiver(_instance, _type, createSocket(false, _addr), false); + dynamic_cast<StreamTransceiver*>(transceiver.get())->connect(_addr); + return transceiver; + } + catch(const Ice::LocalException& ex) + { + if(_traceLevels->network >= 2) + { + Trace out(_logger, _traceLevels->networkCat); + out << "failed to establish " << typeToString(_type) << " connection to " << toString() << "\n" << ex; + } + throw; + } +} + +Short +IceInternal::StreamConnector::type() const +{ + return _type; +} + +string +IceInternal::StreamConnector::toString() const +{ + return addrToString(_addr); +} + +bool +IceInternal::StreamConnector::operator==(const Connector& r) const +{ + const StreamConnector* p = dynamic_cast<const StreamConnector*>(&r); + if(!p) + { + return false; + } + + if(_type != p->_type) + { + return false; + } + + if(compareAddress(_addr, p->_addr) != 0) + { + return false; + } + + if(_timeout != p->_timeout) + { + return false; + } + + if(_connectionId != p->_connectionId) + { + return false; + } + + return true; +} + +bool +IceInternal::StreamConnector::operator!=(const Connector& r) const +{ + return !operator==(r); +} + +bool +IceInternal::StreamConnector::operator<(const Connector& r) const +{ + const StreamConnector* p = dynamic_cast<const StreamConnector*>(&r); + if(!p) + { + return type() < r.type(); + } + + if(_type < p->_type) + { + return true; + } + else if(p->_type < _type) + { + return false; + } + + if(_timeout < p->_timeout) + { + return true; + } + else if(p->_timeout < _timeout) + { + return false; + } + + if(_connectionId < p->_connectionId) + { + return true; + } + else if(p->_connectionId < _connectionId) + { + return false; + } + return compareAddress(_addr, p->_addr) < 0; +} + +IceInternal::StreamConnector::StreamConnector(const InstancePtr& instance, Ice::Short type, const Address& addr, + Ice::Int timeout, const string& connectionId) : + _instance(instance), + _type(type), + _traceLevels(instance->traceLevels()), + _logger(instance->initializationData().logger), + _addr(addr), + _timeout(timeout), + _connectionId(connectionId) +{ +} + +IceInternal::StreamConnector::~StreamConnector() +{ +} diff --git a/cpp/src/Ice/winrt/StreamConnector.h b/cpp/src/Ice/winrt/StreamConnector.h new file mode 100644 index 00000000000..88f8721083a --- /dev/null +++ b/cpp/src/Ice/winrt/StreamConnector.h @@ -0,0 +1,53 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_TCP_CONNECTOR_H +#define ICE_TCP_CONNECTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Connector.h> +#include <Ice/Network.h> + +namespace IceInternal +{ + +class StreamConnector : public Connector +{ +public: + + virtual TransceiverPtr connect(); + + virtual Ice::Short type() const; + virtual std::string toString() const; + + virtual bool operator==(const Connector&) const; + virtual bool operator!=(const Connector&) const; + virtual bool operator<(const Connector&) const; + +private: + + StreamConnector(const InstancePtr&, Ice::Short, const Address&, Ice::Int, const std::string&); + virtual ~StreamConnector(); + friend class StreamEndpointI; + + const InstancePtr _instance; + const Ice::Short _type; + const TraceLevelsPtr _traceLevels; + const ::Ice::LoggerPtr _logger; + const Address _addr; + const Ice::Int _timeout; + const std::string _connectionId; +}; + +} + +#endif diff --git a/cpp/src/Ice/winrt/StreamEndpointI.cpp b/cpp/src/Ice/winrt/StreamEndpointI.cpp new file mode 100644 index 00000000000..c32a2308974 --- /dev/null +++ b/cpp/src/Ice/winrt/StreamEndpointI.cpp @@ -0,0 +1,623 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. 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/winrt/StreamEndpointI.h> +#include <Ice/winrt/StreamAcceptor.h> +#include <Ice/winrt/StreamConnector.h> +#include <Ice/winrt/StreamTransceiver.h> + +#include <Ice/Network.h> +#include <Ice/BasicStream.h> +#include <Ice/LocalException.h> +#include <Ice/Instance.h> +#include <Ice/DefaultsAndOverrides.h> +#include <Ice/HashUtil.h> + +#include <IceSSL/EndpointInfo.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +namespace +{ + +template<class T> class InfoI : public T +{ +public: + + InfoI(Ice::Short type, Ice::Int to, bool comp, const string& host, Ice::Int port) : + T(to, comp, host, port), _type(type) + { + } + + virtual Ice::Short + type() const + { + return _type; + } + + virtual bool + datagram() const + { + return false; + } + + virtual bool + secure() const + { + return _type == IceSSL::EndpointType; + } + +private: + + Ice::Short _type; +}; + +} + +IceInternal::StreamEndpointI::StreamEndpointI(const InstancePtr& instance, Ice::Short type, const string& ho, Int po, + Int ti, const string& conId, bool co) : + _instance(instance), + _type(type), + _host(ho), + _port(po), + _timeout(ti), + _connectionId(conId), + _compress(co) +{ +} + +IceInternal::StreamEndpointI::StreamEndpointI(const InstancePtr& instance, Ice::Short type, const string& str, + bool oaEndpoint) : + _instance(instance), + _type(type), + _port(0), + _timeout(-1), + _compress(false) +{ + const string delim = " \t\n\r"; + + string::size_type beg; + string::size_type end = 0; + + while(true) + { + beg = str.find_first_not_of(delim, end); + if(beg == string::npos) + { + break; + } + + end = str.find_first_of(delim, beg); + if(end == string::npos) + { + end = str.length(); + } + + string option = str.substr(beg, end - beg); + if(option.length() != 2 || option[0] != '-') + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "expected an endpoint option but found `" + option + "' in endpoint `" + typeToString(_type) + + " " + str + "'"; + throw ex; + } + + string argument; + string::size_type argumentBeg = str.find_first_not_of(delim, end); + if(argumentBeg != string::npos && str[argumentBeg] != '-') + { + beg = argumentBeg; + end = str.find_first_of(delim, beg); + if(end == string::npos) + { + end = str.length(); + } + argument = str.substr(beg, end - beg); + if(argument[0] == '\"' && argument[argument.size() - 1] == '\"') + { + argument = argument.substr(1, argument.size() - 2); + } + } + + switch(option[1]) + { + case 'h': + { + if(argument.empty()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "no argument provided for -h option in endpoint `" + typeToString(_type) + " " + + str + "'"; + throw ex; + } + const_cast<string&>(_host) = argument; + break; + } + + case 'p': + { + if(argument.empty()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "no argument provided for -p option in endpoint `" + typeToString(_type) + " " + str + "'"; + throw ex; + } + istringstream p(argument); + if(!(p >> const_cast<Int&>(_port)) || !p.eof()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "invalid port value `" + argument + "' in endpoint `" + typeToString(_type) + " " + + str + "'"; + throw ex; + } + else if(_port < 0 || _port > 65535) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "port value `" + argument + "' out of range in endpoint `" + typeToString(_type) + " " + + str + "'"; + throw ex; + } + break; + } + + case 't': + { + if(argument.empty()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "no argument provided for -t option in endpoint `" + typeToString(_type) + " " + str + "'"; + throw ex; + } + istringstream t(argument); + if(!(t >> const_cast<Int&>(_timeout)) || !t.eof()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "invalid timeout value `" + argument + "' in endpoint `" + typeToString(_type) + " " + + str + "'"; + throw ex; + } + break; + } + + case 'z': + { + if(!argument.empty()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "unexpected argument `" + argument + "' provided for -z option in `" + + typeToString(_type) + " " + str + "'"; + throw ex; + } + const_cast<bool&>(_compress) = true; + break; + } + + default: + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "unknown option `" + option + "' in `" + typeToString(_type) + " " + str + "'"; + throw ex; + } + } + } + + if(_host.empty()) + { + const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost; + } + else if(_host == "*") + { + if(oaEndpoint) + { + const_cast<string&>(_host) = string(); + } + else + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "`-h *' not valid for proxy endpoint `" + typeToString(_type) + " " + str + "'"; + throw ex; + } + } +} + +IceInternal::StreamEndpointI::StreamEndpointI(BasicStream* s, Ice::Short type) : + _instance(s->instance()), + _type(type), + _port(0), + _timeout(-1), + _compress(false) +{ + s->startReadEncaps(); + s->read(const_cast<string&>(_host), false); + s->read(const_cast<Int&>(_port)); + s->read(const_cast<Int&>(_timeout)); + s->read(const_cast<bool&>(_compress)); + s->endReadEncaps(); +} + +void +IceInternal::StreamEndpointI::streamWrite(BasicStream* s) const +{ + s->write(_type); + s->startWriteEncaps(); + s->write(_host, false); + s->write(_port); + s->write(_timeout); + s->write(_compress); + s->endWriteEncaps(); +} + +string +IceInternal::StreamEndpointI::toString() const +{ + // + // WARNING: Certain features, such as proxy validation in Glacier2, + // depend on the format of proxy strings. Changes to toString() and + // methods called to generate parts of the reference string could break + // these features. Please review for all features that depend on the + // format of proxyToString() before changing this and related code. + // + ostringstream s; + s << "" + typeToString(_type) + ""; + + if(!_host.empty()) + { + s << " -h "; + bool addQuote = _host.find(':') != string::npos; + if(addQuote) + { + s << "\""; + } + s << _host; + if(addQuote) + { + s << "\""; + } + } + + s << " -p " << _port; + if(_timeout != -1) + { + s << " -t " << _timeout; + } + if(_compress) + { + s << " -z"; + } + return s.str(); +} + +EndpointInfoPtr +IceInternal::StreamEndpointI::getInfo() const +{ + switch(_type) + { + case TCPEndpointType: + return new InfoI<Ice::TCPEndpointInfo>(_type, _timeout, _compress, _host, _port); + case IceSSL::EndpointType: + return new InfoI<IceSSL::EndpointInfo>(_type, _timeout, _compress, _host, _port); + default: + assert(false); + return 0; + } +} + +Short +IceInternal::StreamEndpointI::type() const +{ + return _type; +} + +Int +IceInternal::StreamEndpointI::timeout() const +{ + return _timeout; +} + +EndpointIPtr +IceInternal::StreamEndpointI::timeout(Int timeout) const +{ + if(timeout == _timeout) + { + return const_cast<StreamEndpointI*>(this); + } + else + { + return new StreamEndpointI(_instance, _type, _host, _port, timeout, _connectionId, _compress); + } +} + +EndpointIPtr +IceInternal::StreamEndpointI::connectionId(const string& connectionId) const +{ + if(connectionId == _connectionId) + { + return const_cast<StreamEndpointI*>(this); + } + else + { + return new StreamEndpointI(_instance, _type, _host, _port, _timeout, connectionId, _compress); + } +} + +bool +IceInternal::StreamEndpointI::compress() const +{ + return _compress; +} + +EndpointIPtr +IceInternal::StreamEndpointI::compress(bool compress) const +{ + if(compress == _compress) + { + return const_cast<StreamEndpointI*>(this); + } + else + { + return new StreamEndpointI(_instance, _type, _host, _port, _timeout, _connectionId, compress); + } +} + +bool +IceInternal::StreamEndpointI::datagram() const +{ + return false; +} + +bool +IceInternal::StreamEndpointI::secure() const +{ + return _type == IceSSL::EndpointType; +} + +TransceiverPtr +IceInternal::StreamEndpointI::transceiver(EndpointIPtr& endp) const +{ + endp = const_cast<StreamEndpointI*>(this); + return 0; +} + +vector<ConnectorPtr> +IceInternal::StreamEndpointI::connectors() const +{ + return connectors(getAddresses(_host, _port, _instance->protocolSupport(), true)); +} + +void +IceInternal::StreamEndpointI::connectors_async(const EndpointI_connectorsPtr& callback) const +{ + callback->connectors(connectors()); +} + +AcceptorPtr +IceInternal::StreamEndpointI::acceptor(EndpointIPtr& endp, const string&) const +{ + StreamAcceptor* p = new StreamAcceptor(_instance, _type, _host, _port, _instance->protocolSupport()); + endp = new StreamEndpointI(_instance, _type, _host, p->effectivePort(), _timeout, _connectionId, _compress); + return p; +} + + +vector<EndpointIPtr> +IceInternal::StreamEndpointI::expand() const +{ + vector<EndpointIPtr> endps; + vector<string> hosts = getHostsForEndpointExpand(_host, _instance->protocolSupport(), false); + if(hosts.empty()) + { + endps.push_back(const_cast<StreamEndpointI*>(this)); + } + else + { + for(vector<string>::const_iterator p = hosts.begin(); p != hosts.end(); ++p) + { + endps.push_back(new StreamEndpointI(_instance, _type, *p, _port, _timeout, _connectionId, _compress)); + } + } + return endps; +} + +bool +IceInternal::StreamEndpointI::equivalent(const EndpointIPtr& endpoint) const +{ + const StreamEndpointI* streamEndpointI = dynamic_cast<const StreamEndpointI*>(endpoint.get()); + if(!streamEndpointI) + { + return false; + } + return streamEndpointI->_host == _host && streamEndpointI->_port == _port; +} + +bool +IceInternal::StreamEndpointI::operator==(const LocalObject& r) const +{ + const StreamEndpointI* p = dynamic_cast<const StreamEndpointI*>(&r); + if(!p) + { + return false; + } + + if(this == p) + { + return true; + } + + if(_type != p->_type) + { + return false; + } + + if(_host != p->_host) + { + return false; + } + + if(_port != p->_port) + { + return false; + } + + if(_timeout != p->_timeout) + { + return false; + } + + if(_connectionId != p->_connectionId) + { + return false; + } + + if(_compress != p->_compress) + { + return false; + } + + return true; +} + +bool +IceInternal::StreamEndpointI::operator<(const LocalObject& r) const +{ + const StreamEndpointI* p = dynamic_cast<const StreamEndpointI*>(&r); + if(!p) + { + const EndpointI* e = dynamic_cast<const EndpointI*>(&r); + if(!e) + { + return false; + } + return type() < e->type(); + } + + if(this == p) + { + return false; + } + + if(_type < p->_type) + { + return true; + } + else if(p->_type < _type) + { + return false; + } + + if(_host < p->_host) + { + return true; + } + else if (p->_host < _host) + { + return false; + } + + if(_port < p->_port) + { + return true; + } + else if(p->_port < _port) + { + return false; + } + + if(_timeout < p->_timeout) + { + return true; + } + else if(p->_timeout < _timeout) + { + return false; + } + + if(_connectionId < p->_connectionId) + { + return true; + } + else if(p->_connectionId < _connectionId) + { + return false; + } + + if(!_compress && p->_compress) + { + return true; + } + else if(p->_compress < _compress) + { + return false; + } + + return false; +} + +Ice::Int +IceInternal::StreamEndpointI::hashInit() const +{ + Ice::Int h = 0; + hashAdd(h, _host); + hashAdd(h, _port); + hashAdd(h, _timeout); + hashAdd(h, _connectionId); + hashAdd(h, _compress); + return h; +} + +vector<ConnectorPtr> +IceInternal::StreamEndpointI::connectors(const vector<Address>& addresses) const +{ + vector<ConnectorPtr> connectors; + for(unsigned int i = 0; i < addresses.size(); ++i) + { + connectors.push_back(new StreamConnector(_instance, _type, addresses[i], _timeout, _connectionId)); + } + return connectors; +} + +IceInternal::StreamEndpointFactory::StreamEndpointFactory(const InstancePtr& instance, Ice::Short type) + : _instance(instance), _type(type) +{ +} + +IceInternal::StreamEndpointFactory::~StreamEndpointFactory() +{ +} + +Short +IceInternal::StreamEndpointFactory::type() const +{ + return _type; +} + +string +IceInternal::StreamEndpointFactory::protocol() const +{ + return typeToString(_type); +} + +EndpointIPtr +IceInternal::StreamEndpointFactory::create(const std::string& str, bool oaEndpoint) const +{ + return new StreamEndpointI(_instance, _type, str, oaEndpoint); +} + +EndpointIPtr +IceInternal::StreamEndpointFactory::read(BasicStream* s) const +{ + return new StreamEndpointI(s, _type); +} + +void +IceInternal::StreamEndpointFactory::destroy() +{ + _instance = 0; +} diff --git a/cpp/src/Ice/winrt/StreamEndpointI.h b/cpp/src/Ice/winrt/StreamEndpointI.h new file mode 100644 index 00000000000..6d102ff3647 --- /dev/null +++ b/cpp/src/Ice/winrt/StreamEndpointI.h @@ -0,0 +1,90 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_TCP_ENDPOINT_I_H +#define ICE_TCP_ENDPOINT_I_H + +#include <IceUtil/Config.h> +#include <Ice/EndpointI.h> +#include <Ice/EndpointFactory.h> +#include <Ice/Network.h> // for IceIternal::Address + +namespace IceInternal +{ + +class StreamEndpointI : public EndpointI +{ +public: + + StreamEndpointI(const InstancePtr&, Ice::Short, const std::string&, Ice::Int, Ice::Int, const std::string&, bool); + StreamEndpointI(const InstancePtr&, Ice::Short, const std::string&, bool); + StreamEndpointI(BasicStream*, Ice::Short); + + virtual void streamWrite(BasicStream*) const; + virtual std::string toString() const; + virtual Ice::EndpointInfoPtr getInfo() const; + virtual Ice::Short type() const; + virtual Ice::Int timeout() const; + virtual EndpointIPtr timeout(Ice::Int) const; + virtual EndpointIPtr connectionId(const ::std::string&) const; + virtual bool compress() const; + virtual EndpointIPtr compress(bool) const; + virtual bool datagram() const; + virtual bool secure() const; + virtual TransceiverPtr transceiver(EndpointIPtr&) const; + virtual std::vector<ConnectorPtr> connectors() const; + virtual void connectors_async(const EndpointI_connectorsPtr&) const; + virtual AcceptorPtr acceptor(EndpointIPtr&, const std::string&) const; + virtual std::vector<EndpointIPtr> expand() const; + virtual bool equivalent(const EndpointIPtr&) const; + + virtual bool operator==(const Ice::LocalObject&) const; + virtual bool operator<(const Ice::LocalObject&) const; + +private: + + virtual ::Ice::Int hashInit() const; + virtual std::vector<ConnectorPtr> connectors(const std::vector<IceInternal::Address>&) const; + + // + // All members are const, because endpoints are immutable. + // + const InstancePtr _instance; + const Ice::Short _type; + const std::string _host; + const Ice::Int _port; + const Ice::Int _timeout; + const std::string _connectionId; + const bool _compress; +}; + +class StreamEndpointFactory : public EndpointFactory +{ +public: + + virtual ~StreamEndpointFactory(); + + virtual Ice::Short type() const; + virtual std::string protocol() const; + virtual EndpointIPtr create(const std::string&, bool) const; + virtual EndpointIPtr read(BasicStream*) const; + virtual void destroy(); + +private: + + StreamEndpointFactory(const InstancePtr&, Ice::Short); + friend class Instance; + + InstancePtr _instance; + const Ice::Short _type; +}; + +} + +#endif diff --git a/cpp/src/Ice/winrt/StreamTransceiver.cpp b/cpp/src/Ice/winrt/StreamTransceiver.cpp new file mode 100644 index 00000000000..9d7e47f53fb --- /dev/null +++ b/cpp/src/Ice/winrt/StreamTransceiver.cpp @@ -0,0 +1,444 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. 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/winrt/StreamTransceiver.h> +#include <Ice/Connection.h> +#include <Ice/Instance.h> +#include <Ice/TraceLevels.h> +#include <Ice/LoggerUtil.h> +#include <Ice/Stats.h> +#include <Ice/Buffer.h> +#include <Ice/LocalException.h> +#include <Ice/Properties.h> + +#include <IceSSL/EndpointInfo.h> +#include <IceSSL/ConnectionInfo.h> + +using namespace std; +using namespace Ice; +using namespace IceInternal; + +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Storage::Streams; +using namespace Windows::Networking; +using namespace Windows::Networking::Sockets; + +namespace +{ + +AsyncOperationCompletedHandler<unsigned int>^ +createAsyncOperationCompletedHandler(SocketOperationCompletedHandler^ cb, SocketOperation op, AsyncInfo& info) +{ + return ref new AsyncOperationCompletedHandler<unsigned int>( + [=,&info] (IAsyncOperation<unsigned int>^ operation, Windows::Foundation::AsyncStatus status) + { + if(status != Windows::Foundation::AsyncStatus::Completed) + { + info.count = SOCKET_ERROR; + info.error = operation->ErrorCode.Value; + } + else + { + info.count = static_cast<int>(operation->GetResults()); + } + cb(op); + }); +} + +} + +string +IceInternal::typeToString(Ice::Short type) +{ + switch(type) + { + case TCPEndpointType: + return "tcp"; + case IceSSL::EndpointType: + return "ssl"; + default: + assert(false); + return ""; + } +} + +NativeInfoPtr +IceInternal::StreamTransceiver::getNativeInfo() +{ + return this; +} + +void +IceInternal::StreamTransceiver::setCompletedHandler(SocketOperationCompletedHandler^ handler) +{ + _completedHandler = handler; + _readOperationCompletedHandler = createAsyncOperationCompletedHandler(handler, SocketOperationRead, _read); + _writeOperationCompletedHandler = createAsyncOperationCompletedHandler(handler, SocketOperationWrite, _write); +} + +SocketOperation +IceInternal::StreamTransceiver::initialize() +{ + if(_state == StateNeedConnect) + { + _state = StateConnectPending; + return SocketOperationConnect; + } + else if(_state <= StateConnectPending) + { + try + { + if(_write.count == SOCKET_ERROR) + { + checkConnectErrorCode(__FILE__, __LINE__, _write.error, _connectAddr.host); + } + _state = StateConnected; + _desc = fdToString(_fd); + } + catch(const Ice::LocalException& ex) + { + if(_traceLevels->network >= 2) + { + Trace out(_logger, _traceLevels->networkCat); + out << "failed to establish " << typeToString(_type) << " connection\n"; + out << "local address: <not available>\n"; + out << "remote address: " << addrToString(_connectAddr) << "\n" << ex; + } + throw; + } + + if(_traceLevels->network >= 1) + { + Trace out(_logger, _traceLevels->networkCat); + out << "" << typeToString(_type) << " connection established\n" << _desc; + } + } + assert(_state == StateConnected); + return SocketOperationNone; +} + +void +IceInternal::StreamTransceiver::close() +{ + if(_state == StateConnected && _traceLevels->network >= 1) + { + Trace out(_logger, _traceLevels->networkCat); + out << "closing " << typeToString(_type) << " connection\n" << toString(); + } + + assert(_fd != INVALID_SOCKET); + try + { + closeSocket(_fd); + _fd = INVALID_SOCKET; + } + catch(const SocketException&) + { + _fd = INVALID_SOCKET; + throw; + } +} + +bool +IceInternal::StreamTransceiver::write(Buffer& buf) +{ + return false; +} + +bool +IceInternal::StreamTransceiver::read(Buffer& buf) +{ + return false; +} + +bool +IceInternal::StreamTransceiver::startWrite(Buffer& buf) +{ + if(_state < StateConnected) + { + try + { + IAsyncAction^ action = safe_cast<StreamSocket^>(_fd)->ConnectAsync( + _connectAddr.host, + _connectAddr.port, + _type == IceSSL::EndpointType ? SocketProtectionLevel::Ssl : SocketProtectionLevel::PlainSocket); + + if(!checkIfErrorOrCompleted(SocketOperationConnect, action)) + { + action->Completed = ref new AsyncActionCompletedHandler( + [=] (IAsyncAction^ info, Windows::Foundation::AsyncStatus status) + { + if(status != Windows::Foundation::AsyncStatus::Completed) + { + _write.count = SOCKET_ERROR; + _write.error = info->ErrorCode.Value; + } + else + { + _write.count = 0; + } + _completedHandler(SocketOperationConnect); + }); + } + } + catch(Platform::Exception^ ex) + { + checkConnectErrorCode(__FILE__, __LINE__, ex->HResult, _connectAddr.host); + } + return false; + } + + assert(!buf.b.empty()); + assert(buf.i != buf.b.end()); + + int packetSize = static_cast<int>(buf.b.end() - buf.i); + if(_maxSendPacketSize > 0 && packetSize > _maxSendPacketSize) + { + packetSize = _maxSendPacketSize; + } + assert(packetSize > 0); + _writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, packetSize)); + try + { + DataWriterStoreOperation^ operation = _writer->StoreAsync(); + if(checkIfErrorOrCompleted(SocketOperationWrite, operation)) + { + _write.count = operation->GetResults(); + } + else + { + operation->Completed = _writeOperationCompletedHandler; + } + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } + return packetSize == static_cast<int>(buf.b.end() - buf.i); +} + +void +IceInternal::StreamTransceiver::finishWrite(Buffer& buf) +{ + if(_state < StateConnected) + { + return; + } + + if(_write.count == SOCKET_ERROR) + { + checkErrorCode(__FILE__, __LINE__, _write.error); + } + + if(_traceLevels->network >= 3) + { + int packetSize = static_cast<int>(buf.b.end() - buf.i); + if(_maxSendPacketSize > 0 && packetSize > _maxSendPacketSize) + { + packetSize = _maxSendPacketSize; + } + Trace out(_logger, _traceLevels->networkCat); + out << "sent " << _write.count << " of " << packetSize << " bytes via " << typeToString(_type) << "\n" + << toString(); + } + + if(_stats) + { + _stats->bytesSent(type(), _write.count); + } + buf.i += _write.count; +} + +void +IceInternal::StreamTransceiver::startRead(Buffer& buf) +{ + int packetSize = static_cast<int>(buf.b.end() - buf.i); + if(_maxReceivePacketSize > 0 && packetSize > _maxReceivePacketSize) + { + packetSize = _maxReceivePacketSize; + } + assert(!buf.b.empty() && buf.i != buf.b.end()); + + try + { + DataReaderLoadOperation^ operation = _reader->LoadAsync(packetSize); + if(checkIfErrorOrCompleted(SocketOperationRead, operation)) + { + _read.count = operation->GetResults(); + } + else + { + operation->Completed = _readOperationCompletedHandler; + } + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } +} + +void +IceInternal::StreamTransceiver::finishRead(Buffer& buf) +{ + if(_read.count == SOCKET_ERROR) + { + checkErrorCode(__FILE__, __LINE__, _read.error); + } + else if(_read.count == 0) + { + ConnectionLostException ex(__FILE__, __LINE__); + ex.error = 0; + throw ex; + } + + try + { + auto data = ref new Platform::Array<unsigned char>(_read.count); + _reader->ReadBytes(data); + memcpy(&*buf.i, data->Data, _read.count); + } + catch(Platform::Exception^ ex) + { + checkErrorCode(__FILE__, __LINE__, ex->HResult); + } + + if(_traceLevels->network >= 3) + { + int packetSize = static_cast<int>(buf.b.end() - buf.i); + if(_maxReceivePacketSize > 0 && packetSize > _maxReceivePacketSize) + { + packetSize = _maxReceivePacketSize; + } + Trace out(_logger, _traceLevels->networkCat); + out << "received " << _read.count << " of " << packetSize << " bytes via " << typeToString(_type) << "\n" + << toString(); + } + + if(_stats) + { + _stats->bytesReceived(type(), static_cast<Int>(_read.count)); + } + + buf.i += _read.count; +} + +string +IceInternal::StreamTransceiver::type() const +{ + return "tcp"; +} + +string +IceInternal::StreamTransceiver::toString() const +{ + return _desc; +} + +Ice::ConnectionInfoPtr +IceInternal::StreamTransceiver::getInfo() const +{ + assert(_fd != INVALID_SOCKET); + Ice::IPConnectionInfoPtr info; + if(_type == IceSSL::EndpointType) + { + info = new IceSSL::ConnectionInfo(); + } + else + { + info = new Ice::TCPConnectionInfo(); + } + fdToAddressAndPort(_fd, info->localAddress, info->localPort, info->remoteAddress, info->remotePort); + return info; +} + +void +IceInternal::StreamTransceiver::checkSendSize(const Buffer& buf, size_t messageSizeMax) +{ + if(buf.b.size() > messageSizeMax) + { + Ex::throwMemoryLimitException(__FILE__, __LINE__, buf.b.size(), messageSizeMax); + } +} + +IceInternal::StreamTransceiver::StreamTransceiver(const InstancePtr& instance, + Ice::Short type, + SOCKET fd, + bool connected) : + NativeInfo(fd), + _traceLevels(instance->traceLevels()), + _type(type), + _logger(instance->initializationData().logger), + _stats(instance->initializationData().stats), + _state(connected ? StateConnected : StateNeedConnect), + _desc(connected ? fdToString(_fd) : string()) +{ + StreamSocket^ streamSocket = safe_cast<StreamSocket^>(_fd); + _writer = ref new DataWriter(streamSocket->OutputStream); + _reader = ref new DataReader(streamSocket->InputStream); + _reader->InputStreamOptions = InputStreamOptions::Partial; + + Ice::PropertiesPtr properties = instance->initializationData().properties; + setTcpBufSize(_fd, properties, _logger); + + _maxSendPacketSize = streamSocket->Control->OutboundBufferSizeInBytes / 2; + if(_maxSendPacketSize < 512) + { + _maxSendPacketSize = 0; + } + + _maxReceivePacketSize = properties->getPropertyAsIntWithDefault("Ice.TCP.RcvSize", 128 * 1024); +} + +IceInternal::StreamTransceiver::~StreamTransceiver() +{ + assert(_fd == INVALID_SOCKET); +} + +void +IceInternal::StreamTransceiver::connect(const Address& addr) +{ + _connectAddr = addr; +} + +bool +IceInternal::StreamTransceiver::checkIfErrorOrCompleted(SocketOperation op, IAsyncInfo^ info) +{ + // + // NOTE: It's important to only check for info->Status once as it + // might change during the checks below (the Status can be changed + // by the Windows thread pool concurrently). + // + // We consider that a canceled async status is the same as an + // error. A canceled async status can occur if there's a timeout + // and the socket is closed. + // + Windows::Foundation::AsyncStatus status = info->Status; + if(status == Windows::Foundation::AsyncStatus::Completed) + { + _completedHandler(op); + return true; + } + else if (status == Windows::Foundation::AsyncStatus::Started) + { + return false; + } + else + { + if(_state < StateConnected) + { + checkConnectErrorCode(__FILE__, __LINE__, info->ErrorCode.Value, _connectAddr.host); + } + else + { + checkErrorCode(__FILE__, __LINE__, info->ErrorCode.Value); + } + return true; // Prevent compiler warning. + } +} diff --git a/cpp/src/Ice/winrt/StreamTransceiver.h b/cpp/src/Ice/winrt/StreamTransceiver.h new file mode 100644 index 00000000000..11d27eee6ff --- /dev/null +++ b/cpp/src/Ice/winrt/StreamTransceiver.h @@ -0,0 +1,93 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_STREAM_TRANSCEIVER_H +#define ICE_STREAM_TRANSCEIVER_H + +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/StatsF.h> +#include <Ice/Transceiver.h> +#include <Ice/Network.h> + +namespace IceInternal +{ + +class StreamConnector; +class StreamAcceptor; + +std::string typeToString(Ice::Short); + +class StreamTransceiver : public Transceiver, public NativeInfo +{ + enum State + { + StateNeedConnect, + StateConnectPending, + StateConnected + }; + +public: + + virtual NativeInfoPtr getNativeInfo(); + virtual void setCompletedHandler(SocketOperationCompletedHandler^); + + virtual SocketOperation initialize(); + virtual void close(); + virtual bool write(Buffer&); + virtual bool read(Buffer&); + + virtual bool startWrite(Buffer&); + virtual void finishWrite(Buffer&); + virtual void startRead(Buffer&); + virtual void finishRead(Buffer&); + + virtual std::string type() const; + virtual std::string toString() const; + virtual Ice::ConnectionInfoPtr getInfo() const; + virtual void checkSendSize(const Buffer&, size_t); + +private: + + StreamTransceiver(const InstancePtr&, Ice::Short, SOCKET, bool); + virtual ~StreamTransceiver(); + + void connect(const Address&); + + bool checkIfErrorOrCompleted(SocketOperation, Windows::Foundation::IAsyncInfo^); + + friend class StreamConnector; + friend class StreamAcceptor; + + const TraceLevelsPtr _traceLevels; + const Ice::Short _type; + const Ice::LoggerPtr _logger; + const Ice::StatsPtr _stats; + + State _state; + std::string _desc; + Address _connectAddr; + + AsyncInfo _read; + AsyncInfo _write; + int _maxSendPacketSize; + int _maxReceivePacketSize; + + Windows::Storage::Streams::DataReader^ _reader; + Windows::Storage::Streams::DataWriter^ _writer; + + SocketOperationCompletedHandler^ _completedHandler; + Windows::Foundation::AsyncOperationCompletedHandler<unsigned int>^ _readOperationCompletedHandler; + Windows::Foundation::AsyncOperationCompletedHandler<unsigned int>^ _writeOperationCompletedHandler; +}; + +} + +#endif diff --git a/cpp/src/IceGridLib/winrt/.depend.mak b/cpp/src/IceGridLib/winrt/.depend.mak new file mode 100644 index 00000000000..0336ab8d60b --- /dev/null +++ b/cpp/src/IceGridLib/winrt/.depend.mak @@ -0,0 +1,21 @@ +$(ARCH)\$(CONFIG)\Admin$(OBJEXT): ..\Admin.cpp "$(includedir)\IceGrid\Admin.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\IceGrid\Descriptor.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Locator$(OBJEXT): ..\Locator.cpp "$(includedir)\IceGrid\Locator.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\Locator.h" "$(includedir)\Ice\ProcessF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Query$(OBJEXT): ..\Query.cpp "$(includedir)\IceGrid\Query.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Exception$(OBJEXT): ..\Exception.cpp "$(includedir)\IceGrid\Exception.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Descriptor$(OBJEXT): ..\Descriptor.cpp "$(includedir)\IceGrid\Descriptor.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\FileParser$(OBJEXT): ..\FileParser.cpp "$(includedir)\IceGrid\FileParser.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\IceGrid\Admin.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\IceGrid\Descriptor.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Observer$(OBJEXT): ..\Observer.cpp "$(includedir)\IceGrid\Observer.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\IceGrid\Descriptor.h" "$(includedir)\IceGrid\Admin.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Session$(OBJEXT): ..\Session.cpp "$(includedir)\IceGrid\Session.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Registry$(OBJEXT): ..\Registry.cpp "$(includedir)\IceGrid\Registry.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\IncomingAsync.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\IceGrid\Exception.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\IceGrid\Session.h" "$(includedir)\Glacier2\Session.h" "$(includedir)\Glacier2\SSLInfo.h" "$(includedir)\IceGrid\Admin.h" "$(includedir)\Ice\Properties.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceGrid\Descriptor.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\UserAccountMapper$(OBJEXT): ..\UserAccountMapper.cpp "$(includedir)\IceGrid\UserAccountMapper.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(HDIR)\Admin.h ..\Admin.cpp: "$(slicedir)\IceGrid\Admin.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\SliceChecksumDict.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\IceGrid\Exception.ice" "$(slicedir)\IceGrid\Descriptor.ice" "$(SLICE2CPP)"
+$(HDIR)\Exception.h ..\Exception.cpp: "$(slicedir)\IceGrid\Exception.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)"
+$(HDIR)\FileParser.h ..\FileParser.cpp: "$(slicedir)\IceGrid\FileParser.ice" "$(slicedir)\IceGrid\Admin.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\SliceChecksumDict.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\IceGrid\Exception.ice" "$(slicedir)\IceGrid\Descriptor.ice" "$(SLICE2CPP)"
+$(HDIR)\Locator.h ..\Locator.cpp: "$(slicedir)\IceGrid\Locator.ice" "$(slicedir)\Ice\Locator.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\ProcessF.ice" "$(SLICE2CPP)"
+$(HDIR)\Query.h ..\Query.cpp: "$(slicedir)\IceGrid\Query.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\IceGrid\Exception.ice" "$(SLICE2CPP)"
+$(HDIR)\Registry.h ..\Registry.cpp: "$(slicedir)\IceGrid\Registry.ice" "$(slicedir)\IceGrid\Exception.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\IceGrid\Session.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\IceGrid\Admin.ice" "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\SliceChecksumDict.ice" "$(slicedir)\IceGrid\Descriptor.ice" "$(SLICE2CPP)"
+$(HDIR)\Session.h ..\Session.cpp: "$(slicedir)\IceGrid\Session.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\IceGrid\Exception.ice" "$(SLICE2CPP)"
+$(HDIR)\Observer.h ..\Observer.cpp: "$(slicedir)\IceGrid\Observer.ice" "$(slicedir)\Glacier2\Session.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Glacier2\SSLInfo.ice" "$(slicedir)\IceGrid\Exception.ice" "$(slicedir)\IceGrid\Descriptor.ice" "$(slicedir)\IceGrid\Admin.ice" "$(slicedir)\Ice\Properties.ice" "$(slicedir)\Ice\SliceChecksumDict.ice" "$(SLICE2CPP)"
+$(HDIR)\Descriptor.h ..\Descriptor.cpp: "$(slicedir)\IceGrid\Descriptor.ice" "$(slicedir)\Ice\Identity.ice" "$(slicedir)\Ice\BuiltinSequences.ice" "$(SLICE2CPP)"
+$(HDIR)\UserAccountMapper.h ..\UserAccountMapper.cpp: "$(slicedir)\IceGrid\UserAccountMapper.ice" "$(SLICE2CPP)"
+
diff --git a/cpp/src/IceGridLib/winrt/Makefile.mak b/cpp/src/IceGridLib/winrt/Makefile.mak new file mode 100644 index 00000000000..a839fa32c32 --- /dev/null +++ b/cpp/src/IceGridLib/winrt/Makefile.mak @@ -0,0 +1,81 @@ +# **********************************************************************
+#
+# Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+LIBNAME = $(SDK_LIBRARY_PATH)\icegrid.lib
+TARGETS = $(LIBNAME)
+SOURCE_DIR = ..
+
+TARGETS = $(LIBNAME)
+
+OBJS = $(ARCH)\$(CONFIG)\Admin.obj \
+ $(ARCH)\$(CONFIG)\Locator.obj \
+ $(ARCH)\$(CONFIG)\Query.obj \
+ $(ARCH)\$(CONFIG)\Exception.obj \
+ $(ARCH)\$(CONFIG)\Descriptor.obj \
+ $(ARCH)\$(CONFIG)\FileParser.obj \
+ $(ARCH)\$(CONFIG)\Observer.obj \
+ $(ARCH)\$(CONFIG)\Session.obj \
+ $(ARCH)\$(CONFIG)\Registry.obj \
+ $(ARCH)\$(CONFIG)\UserAccountMapper.obj
+
+SLICE_SRCS = $(SDIR)/Admin.ice \
+ $(SDIR)/Exception.ice \
+ $(SDIR)/FileParser.ice \
+ $(SDIR)/Locator.ice \
+ $(SDIR)/Query.ice \
+ $(SDIR)/Registry.ice \
+ $(SDIR)/Session.ice \
+ $(SDIR)/Observer.ice \
+ $(SDIR)/Descriptor.ice \
+ $(SDIR)/UserAccountMapper.ice
+
+SRCS = $(OBJS:.obj=.cpp)
+SRCS = $(SRCS:x86\=)
+SRCS = $(SRCS:x64\=)
+SRCS = $(SRCS:Retail\=..\)
+SRCS = $(SRCS:Debug\=..\)
+
+HDIR = $(headerdir)\IceGrid
+SDIR = $(slicedir)\IceGrid
+
+SLICE2CPPFLAGS = --checksum --ice --include-dir IceGrid --dll-export ICE_GRID_API
+CPPFLAGS = -I..\.. $(CPPFLAGS)
+
+!include $(top_srcdir)\config\Make.rules.mak
+
+RES_FILE = $(SOURCE_DIR)\IceGrid.res
+
+$(LIBNAME): $(OBJS) $(RES_FILE) sdks
+ $(AR) $(ARFLAGS) $(OBJS) /out:$(LIBNAME)
+
+depend::
+ del /q .depend.mak
+
+.cpp.depend:
+ $(CXX) /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ /Zs /showIncludes $(CXXFLAGS) $(CPPFLAGS) $< 2>&1 | python.exe $(ice_dir)/config/makedepend-winrt.py $<
+
+depend:: $(ARCH)\$(CONFIG) $(SLICE_SRCS) $(SRCS) $(SRCS_DEPEND)
+ @if not "$(SLICE_SRCS)" == "" \
+ $(SLICE2CPP) --depend $(SLICE2CPPFLAGS) $(SLICE_SRCS) | python.exe $(ice_dir)\config\makedepend-winrt.py
+
+clean::
+ -del /q $(SOURCE_DIR)\FileParser.cpp $(HDIR)\FileParser.h
+ -del /q $(SOURCE_DIR)\Admin.cpp $(HDIR)\Admin.h
+ -del /q $(SOURCE_DIR)\Descriptor.cpp $(HDIR)\Descriptor.h
+ -del /q $(SOURCE_DIR)\Exception.cpp $(HDIR)\Exception.h
+ -del /q $(SOURCE_DIR)\Locator.cpp $(HDIR)\Locator.h
+ -del /q $(SOURCE_DIR)\Observer.cpp $(HDIR)\Observer.h
+ -del /q $(SOURCE_DIR)\Query.cpp $(HDIR)\Query.h
+ -del /q $(SOURCE_DIR)\Session.cpp $(HDIR)\Session.h
+ -del /q $(SOURCE_DIR)\Registry.cpp $(HDIR)\Registry.h
+ -del /q $(SOURCE_DIR)\UserAccountMapper.cpp $(HDIR)\UserAccountMapper.h
+ -del /q $(RES_FILE)
+
+!include .depend.mak
diff --git a/cpp/src/IcePatch2Lib/ClientUtil.cpp b/cpp/src/IcePatch2Lib/ClientUtil.cpp index 87284388e8e..4196200775b 100755 --- a/cpp/src/IcePatch2Lib/ClientUtil.cpp +++ b/cpp/src/IcePatch2Lib/ClientUtil.cpp @@ -14,7 +14,6 @@ #define ICE_PATCH2_API_EXPORTS #include <IcePatch2/ClientUtil.h> #include <IcePatch2/Util.h> -#include <IcePatch2/FileServerI.h> #include <list> #include <iterator> diff --git a/cpp/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp index 295eb0f8c3c..96fc56f2d19 100644 --- a/cpp/src/IceSSL/AcceptorI.cpp +++ b/cpp/src/IceSSL/AcceptorI.cpp @@ -110,7 +110,7 @@ IceSSL::AcceptorI::startAccept() } assert(_acceptFd == INVALID_SOCKET); - _acceptFd = IceInternal::createSocket(false, _addr.ss_family); + _acceptFd = IceInternal::createSocket(false, _addr); const int sz = static_cast<int>(_acceptBuf.size() / 2); if(!AcceptEx(_fd, _acceptFd, &_acceptBuf[0], 0, sz, sz, &_info.count, #if defined(_MSC_VER) && (_MSC_VER < 1300) // COMPILER FIX: VC60 @@ -226,7 +226,7 @@ IceSSL::AcceptorI::AcceptorI(const InstancePtr& instance, const string& adapterN _backlog = instance->communicator()->getProperties()->getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); #endif - _fd = IceInternal::createSocket(false, _addr.ss_family); + _fd = IceInternal::createSocket(false, _addr); #ifdef ICE_USE_IOCP _acceptBuf.resize((sizeof(sockaddr_storage) + 16) * 2); #endif diff --git a/cpp/src/IceSSL/ConnectorI.cpp b/cpp/src/IceSSL/ConnectorI.cpp index 2a13e5c1353..c881e5574f6 100644 --- a/cpp/src/IceSSL/ConnectorI.cpp +++ b/cpp/src/IceSSL/ConnectorI.cpp @@ -42,7 +42,7 @@ IceSSL::ConnectorI::connect() try { - return new TransceiverI(_instance, IceInternal::createSocket(false, _addr.ss_family), _host, _addr); + return new TransceiverI(_instance, IceInternal::createSocket(false, _addr), _host, _addr); } catch(const Ice::LocalException& ex) { diff --git a/cpp/src/IceStormLib/winrt/.depend.mak b/cpp/src/IceStormLib/winrt/.depend.mak new file mode 100644 index 00000000000..dda5c3c726e --- /dev/null +++ b/cpp/src/IceStormLib/winrt/.depend.mak @@ -0,0 +1,3 @@ +$(ARCH)\$(CONFIG)\IceStorm$(OBJEXT): ..\IceStorm.cpp "$(includedir)\IceStorm\IceStorm.h" "$(includedir)\Ice\LocalObjectF.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\Ice\Handle.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\Ice\Config.h" "$(includedir)\Ice\ProxyF.h" "$(includedir)\Ice\ProxyHandle.h" "$(includedir)\Ice\ObjectF.h" "$(includedir)\Ice\Exception.h" "$(includedir)\Ice\LocalObject.h" "$(includedir)\Ice\Proxy.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\Ice\ProxyFactoryF.h" "$(includedir)\Ice\ConnectionIF.h" "$(includedir)\Ice\RequestHandlerF.h" "$(includedir)\Ice\EndpointIF.h" "$(includedir)\Ice\EndpointF.h" "$(includedir)\IceUtil\ScopedArray.h" "$(includedir)\Ice\UndefSysMacros.h" "$(includedir)\Ice\EndpointTypes.h" "$(includedir)\Ice\ObjectAdapterF.h" "$(includedir)\Ice\ReferenceF.h" "$(includedir)\Ice\OutgoingAsync.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\Ice\OutgoingAsyncF.h" "$(includedir)\Ice\InstanceF.h" "$(includedir)\Ice\CommunicatorF.h" "$(includedir)\Ice\Current.h" "$(includedir)\Ice\ConnectionF.h" "$(includedir)\Ice\Identity.h" "$(includedir)\Ice\BasicStream.h" "$(includedir)\Ice\ObjectFactoryF.h" "$(includedir)\Ice\Buffer.h" "$(includedir)\Ice\Protocol.h" "$(includedir)\Ice\StreamF.h" "$(includedir)\Ice\Object.h" "$(includedir)\Ice\GCShared.h" "$(includedir)\Ice\GCCountMap.h" "$(includedir)\Ice\IncomingAsyncF.h" "$(includedir)\Ice\Outgoing.h" "$(includedir)\Ice\Incoming.h" "$(includedir)\Ice\ServantLocatorF.h" "$(includedir)\Ice\ServantManagerF.h" "$(includedir)\Ice\Direct.h" "$(includedir)\Ice\FactoryTableInit.h" "$(includedir)\Ice\FactoryTable.h" "$(includedir)\Ice\UserExceptionFactory.h" "$(includedir)\Ice\SliceChecksumDict.h" "$(includedir)\Ice\LocalException.h" "$(includedir)\Ice\BuiltinSequences.h" "$(includedir)\Ice\Stream.h" "$(includedir)\Ice\ObjectFactory.h" "$(includedir)\Ice\SliceChecksums.h" "$(includedir)\IceUtil\Iterator.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(HDIR)\IceStorm.h ..\IceStorm.cpp: "$(slicedir)\IceStorm\IceStorm.ice" "$(slicedir)\Ice\SliceChecksumDict.ice" "$(SLICE2CPP)"
+
diff --git a/cpp/src/IceStormLib/winrt/Makefile.mak b/cpp/src/IceStormLib/winrt/Makefile.mak new file mode 100644 index 00000000000..f51ea21a99d --- /dev/null +++ b/cpp/src/IceStormLib/winrt/Makefile.mak @@ -0,0 +1,55 @@ +# **********************************************************************
+#
+# Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+LIBNAME = $(SDK_LIBRARY_PATH)\icestorm.lib
+TARGETS = $(LIBNAME)
+SOURCE_DIR = ..
+
+TARGETS = $(LIBNAME)
+
+OBJS = $(ARCH)\$(CONFIG)\IceStorm.obj
+
+SLICE_SRCS = $(SDIR)/IceStorm.ice
+
+SRCS = $(OBJS:.obj=.cpp)
+SRCS = $(SRCS:x86\=)
+SRCS = $(SRCS:x64\=)
+SRCS = $(SRCS:Retail\=..\)
+SRCS = $(SRCS:Debug\=..\)
+
+HDIR = $(headerdir)\IceStorm
+SDIR = $(slicedir)\IceStorm
+
+CPPFLAGS = -I..\.. -DWIN32_LEAN_AND_MEAN
+ICECPPFLAGS = -I..
+SLICE2CPPFLAGS = --ice --include-dir IceStorm --checksum --dll-export ICE_STORM_LIB_API
+
+!include $(top_srcdir)\config\Make.rules.mak
+
+RES_FILE = $(SOURCE_DIR)\IceStorm.res
+
+$(LIBNAME): $(OBJS) $(RES_FILE) sdks
+ $(AR) $(ARFLAGS) $(OBJS) /out:$(LIBNAME)
+
+depend::
+ del /q .depend.mak
+
+.cpp.depend:
+ $(CXX) /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ /Zs /showIncludes $(CXXFLAGS) $(CPPFLAGS) $< 2>&1 | python.exe $(ice_dir)/config/makedepend-winrt.py $<
+
+depend:: $(ARCH)\$(CONFIG) $(SLICE_SRCS) $(SRCS) $(SRCS_DEPEND)
+ @if not "$(SLICE_SRCS)" == "" \
+ $(SLICE2CPP) --depend $(SLICE2CPPFLAGS) $(SLICE_SRCS) | python.exe $(ice_dir)\config\makedepend-winrt.py
+
+clean::
+ -del /q $(SOURCE_DIR)\IceStorm.cpp $(HDIR)\IceStorm.h
+ -del /q $(RES_FILE)
+
+!include .depend.mak
diff --git a/cpp/src/IceUtil/Cond.cpp b/cpp/src/IceUtil/Cond.cpp index 22330c25916..a0f71460f1e 100644 --- a/cpp/src/IceUtil/Cond.cpp +++ b/cpp/src/IceUtil/Cond.cpp @@ -17,7 +17,11 @@ IceUtilInternal::Semaphore::Semaphore(long initial) { +#ifndef ICE_OS_WINRT _sem = CreateSemaphore(0, initial, 0x7fffffff, 0); +#else + _sem = CreateSemaphoreExW(0, initial, 0x7fffffff, 0, 0, SEMAPHORE_ALL_ACCESS); +#endif if(_sem == INVALID_HANDLE_VALUE) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); @@ -32,7 +36,11 @@ IceUtilInternal::Semaphore::~Semaphore() void IceUtilInternal::Semaphore::wait() const { +#ifndef ICE_OS_WINRT DWORD rc = WaitForSingleObject(_sem, INFINITE); +#else + DWORD rc = WaitForSingleObjectEx(_sem, INFINITE, true); +#endif if(rc != WAIT_OBJECT_0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); @@ -48,7 +56,11 @@ IceUtilInternal::Semaphore::timedWait(const IceUtil::Time& timeout) const throw IceUtil::InvalidTimeoutException(__FILE__, __LINE__, timeout); } +#ifndef ICE_OS_WINRT DWORD rc = WaitForSingleObject(_sem, static_cast<DWORD>(msTimeout)); +#else + DWORD rc = WaitForSingleObjectEx(_sem, static_cast<DWORD>(msTimeout), true); +#endif if(rc != WAIT_TIMEOUT && rc != WAIT_OBJECT_0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); diff --git a/cpp/src/IceUtil/CountDownLatch.cpp b/cpp/src/IceUtil/CountDownLatch.cpp index abc3525f0c9..05e6be3d5df 100644 --- a/cpp/src/IceUtil/CountDownLatch.cpp +++ b/cpp/src/IceUtil/CountDownLatch.cpp @@ -19,7 +19,11 @@ IceUtilInternal::CountDownLatch::CountDownLatch(int count) : } #ifdef _WIN32 +# ifndef ICE_OS_WINRT _event = CreateEvent(0, TRUE, FALSE, 0); +# else + _event = CreateEventExW(0, 0, CREATE_EVENT_MANUAL_RESET, SEMAPHORE_ALL_ACCESS); +# endif if(_event == 0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); @@ -58,7 +62,11 @@ IceUtilInternal::CountDownLatch::await() const #ifdef _WIN32 while(InterlockedExchangeAdd(&_count, 0) > 0) { +# ifndef ICE_OS_WINRT DWORD rc = WaitForSingleObject(_event, INFINITE); +# else + DWORD rc = WaitForSingleObjectEx(_event, INFINITE, false); +# endif assert(rc == WAIT_OBJECT_0 || rc == WAIT_FAILED); if(rc == WAIT_FAILED) diff --git a/cpp/src/IceUtil/FileUtil.cpp b/cpp/src/IceUtil/FileUtil.cpp index b7fec74f7ea..2ecc670051f 100644 --- a/cpp/src/IceUtil/FileUtil.cpp +++ b/cpp/src/IceUtil/FileUtil.cpp @@ -151,6 +151,7 @@ IceUtilInternal::open(const string& path, int flags) } } +#ifndef ICE_OS_WINRT int IceUtilInternal::getcwd(string& cwd) { @@ -162,6 +163,7 @@ IceUtilInternal::getcwd(string& cwd) cwd = IceUtil::wstringToString(cwdbuf); return 0; } +#endif int IceUtilInternal::unlink(const string& path) @@ -183,8 +185,15 @@ IceUtilInternal::FileLock::FileLock(const std::string& path) : _fd(INVALID_HANDLE_VALUE), _path(path) { +#ifndef ICE_OS_WINRT _fd = ::CreateFileW(IceUtil::stringToWstring(path).c_str(), GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); +#else + CREATEFILE2_EXTENDED_PARAMETERS params; + params.dwFileAttributes = FILE_ATTRIBUTE_NORMAL; + _fd = ::CreateFile2(IceUtil::stringToWstring(path).c_str(), GENERIC_WRITE, 0, + OPEN_ALWAYS, ¶ms); +#endif _path = path; if(_fd == INVALID_HANDLE_VALUE) @@ -192,7 +201,13 @@ IceUtilInternal::FileLock::FileLock(const std::string& path) : throw IceUtil::FileLockException(__FILE__, __LINE__, GetLastError(), _path); } - if(::LockFile(_fd, 0, 0, 0, 0) == 0) + OVERLAPPED overlaped; + overlaped.Internal = 0; + overlaped.InternalHigh = 0; + overlaped.Offset = 0; + overlaped.OffsetHigh = 0; + overlaped.hEvent = nullptr; + if(::LockFileEx(_fd, LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, 0, 0, 0, &overlaped) == 0) { ::CloseHandle(_fd); throw IceUtil::FileLockException(__FILE__, __LINE__, GetLastError(), _path); diff --git a/cpp/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp index e7d63a374a2..c632f4b7b63 100644 --- a/cpp/src/IceUtil/RecMutex.cpp +++ b/cpp/src/IceUtil/RecMutex.cpp @@ -33,7 +33,7 @@ IceUtil::RecMutex::RecMutex(const IceUtil::MutexProtocol protocol) : void IceUtil::RecMutex::init(const MutexProtocol) { - InitializeCriticalSection(&_mutex); + InitializeCriticalSectionEx(&_mutex, 0, 0); } IceUtil::RecMutex::~RecMutex() diff --git a/cpp/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp index 64237c25a41..0be8561f18d 100644 --- a/cpp/src/IceUtil/StringUtil.cpp +++ b/cpp/src/IceUtil/StringUtil.cpp @@ -497,31 +497,79 @@ IceUtilInternal::errorToString(int error, LPCVOID source) { if(error < WSABASEERR) { +#ifndef ICE_OS_WINRT LPVOID lpMsgBuf = 0; - DWORD ok = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | +#else + int size = 256; + auto_ptr<BYTE> lpMsgBuf = auto_ptr<BYTE>(new BYTE[size]); +#endif + DWORD ok = 0; +#ifdef ICE_OS_WINRT + while(true) + { +#endif + ok = FormatMessageW( +#ifndef ICE_OS_WINRT + FORMAT_MESSAGE_ALLOCATE_BUFFER | +#endif + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | (source != NULL ? FORMAT_MESSAGE_FROM_HMODULE : 0), source, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR)&lpMsgBuf, +#ifndef ICE_OS_WINRT + (LPWSTR)&lpMsgBuf, +#else + (LPWSTR)lpMsgBuf.get(), +#endif 0, NULL); +#ifdef ICE_OS_WINRT + if(!ok && size < 65536) + { + DWORD err = GetLastError(); + if(err == ERROR_INSUFFICIENT_BUFFER) + { + size *= 4; + size = max(size, 65536); + lpMsgBuf = auto_ptr<BYTE>(new BYTE[size]); + continue; + } + } + break; + } +#endif + if(ok) { - LPCTSTR msg = (LPCTSTR)lpMsgBuf; - assert(msg && strlen((const char*)msg) > 0); - string result = (const char*)msg; +#ifndef ICE_OS_WINRT + LPWSTR msg = (LPWSTR)lpMsgBuf; +#else + LPWSTR msg = (LPWSTR)lpMsgBuf.get(); +#endif + assert(msg && wcslen((const wchar_t*)msg) > 0); + wstring result = (const wchar_t*)msg; if(result[result.length() - 1] == '\n') { result = result.substr(0, result.length() - 2); } - LocalFree(lpMsgBuf); - return result; +#ifndef ICE_OS_WINRT + if(lpMsgBuf) + { + LocalFree(lpMsgBuf); + } +#endif + return IceUtil::wstringToString(result); } else { +#ifndef ICE_OS_WINRT + if(lpMsgBuf) + { + LocalFree(lpMsgBuf); + } +#endif ostringstream os; os << "unknown error: " << error; return os.str(); diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp index 8e4fd2303a0..a629586a43b 100644 --- a/cpp/src/IceUtil/Thread.cpp +++ b/cpp/src/IceUtil/Thread.cpp @@ -63,7 +63,11 @@ IceUtil::ThreadControl::join() throw BadThreadControlException(__FILE__, __LINE__); } +#ifndef ICE_OS_WINRT DWORD rc = WaitForSingleObject(_handle, INFINITE); +#else + DWORD rc = WaitForSingleObjectEx(_handle, INFINITE, true); +#endif if(rc != WAIT_OBJECT_0) { throw ThreadSyscallException(__FILE__, __LINE__, GetLastError()); @@ -95,7 +99,11 @@ IceUtil::ThreadControl::id() const void IceUtil::ThreadControl::sleep(const Time& timeout) { +#ifndef ICE_OS_WINRT Sleep(static_cast<long>(timeout.toMilliSeconds())); +#else + WaitForSingleObjectEx(GetCurrentThread(), static_cast<long>(timeout.toMilliSeconds()), true); +#endif } void @@ -106,7 +114,11 @@ IceUtil::ThreadControl::yield() // of its time slice to any other thread of equal priority that is // ready to run. // +#ifndef ICE_OS_WINRT Sleep(0); +#else + WaitForSingleObjectEx(GetCurrentThread(), 0, true); +#endif } IceUtil::Thread::Thread() : @@ -172,7 +184,7 @@ WINAPI startHook(void* arg) #if defined(_MSC_VER) && (_MSC_VER < 1300) terminate(); #else - std::terminate(); + std::terminate(); #endif } @@ -220,14 +232,21 @@ IceUtil::Thread::start(size_t stackSize, int priority) reinterpret_cast<HANDLE>( _beginthreadex(0, static_cast<unsigned int>(stackSize), - startHook, this, CREATE_SUSPENDED, &id)); + startHook, this, +#ifndef ICE_OS_WINRT + CREATE_SUSPENDED, +#else + 0, +#endif + &id)); _id = id; - + assert(_handle != (HANDLE)-1L); if(_handle == 0) { __decRef(); throw ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } +#ifndef ICE_OS_WINRT if(SetThreadPriority(_handle, priority) == 0) { throw ThreadSyscallException(__FILE__, __LINE__, GetLastError()); @@ -237,6 +256,7 @@ IceUtil::Thread::start(size_t stackSize, int priority) __decRef(); throw ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } +#endif _started = true; _running = true; diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp index 9fe8f703498..cb2d77a1992 100644 --- a/cpp/src/IceUtil/UUID.cpp +++ b/cpp/src/IceUtil/UUID.cpp @@ -14,17 +14,18 @@ // (/dev/random) to generate "version 4" UUIDs, as described in // http://www.ietf.org/internet-drafts/draft-mealling-uuid-urn-00.txt +#include <IceUtil/Random.h> + #ifdef _WIN32 # include <rpc.h> #else -# include <IceUtil/Random.h> # include <sys/types.h> # include <unistd.h> #endif using namespace std; -#ifndef _WIN32 +#if defined(ICE_OS_WINRT) || !defined(_WIN32) namespace { @@ -45,7 +46,11 @@ public: PidInitializer() { +#ifndef _WIN32 pid_t p = getpid(); +#else + int p = GetCurrentProcessId(); +#endif myPid[0] = (p >> 8) & 0x7F; myPid[1] = p & 0xFF; } @@ -87,15 +92,22 @@ inline void bytesToHex(unsigned char* bytes, size_t len, char*& hexBuffer) string IceUtil::generateUUID() { -#ifdef _WIN32 +#if defined(_WIN32) && !defined(ICE_OS_WINRT) UUID uuid; - UuidCreate(&uuid); + RPC_STATUS ret = UuidCreate(&uuid); + if(ret != RPC_S_OK && ret != RPC_S_UUID_LOCAL_ONLY && ret != RPC_S_UUID_NO_ADDRESS) + { + throw new SyscallException(__FILE__, __LINE__, GetLastError()); + } unsigned char* str; - UuidToString(&uuid, &str); - + ret = UuidToString(&uuid, &str); + if(ret != RPC_S_OK) + { + throw new SyscallException(__FILE__, __LINE__, GetLastError()); + } string result = reinterpret_cast<char*>(str); RpcStringFree(&str); diff --git a/cpp/src/IceUtil/winrt/.depend.mak b/cpp/src/IceUtil/winrt/.depend.mak new file mode 100644 index 00000000000..eaaf19abe78 --- /dev/null +++ b/cpp/src/IceUtil/winrt/.depend.mak @@ -0,0 +1,20 @@ +$(ARCH)\$(CONFIG)\ArgVector$(OBJEXT): ..\ArgVector.cpp "$(includedir)\IceUtil\ArgVector.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\DisableWarnings.h"
+$(ARCH)\$(CONFIG)\Cond$(OBJEXT): ..\Cond.cpp "$(includedir)\IceUtil\Cond.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\MutexProtocol.h"
+$(ARCH)\$(CONFIG)\ConvertUTF$(OBJEXT): ..\ConvertUTF.cpp "..\..\IceUtil\ConvertUTF.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Exception.h"
+$(ARCH)\$(CONFIG)\CountDownLatch$(OBJEXT): ..\CountDownLatch.cpp "$(includedir)\IceUtil\CountDownLatch.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h"
+$(ARCH)\$(CONFIG)\Exception$(OBJEXT): ..\Exception.cpp "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\MutexPtrLock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\StringUtil.h"
+$(ARCH)\$(CONFIG)\FileUtil$(OBJEXT): ..\FileUtil.cpp "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\IceUtil\FileUtil.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Unicode.h"
+$(ARCH)\$(CONFIG)\InputUtil$(OBJEXT): ..\InputUtil.cpp "$(includedir)\IceUtil\InputUtil.h" "$(includedir)\IceUtil\Config.h"
+$(ARCH)\$(CONFIG)\Options$(OBJEXT): ..\Options.cpp "$(includedir)\IceUtil\Options.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\StringUtil.h"
+$(ARCH)\$(CONFIG)\OutputUtil$(OBJEXT): ..\OutputUtil.cpp "$(includedir)\IceUtil\OutputUtil.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\FileUtil.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h"
+$(ARCH)\$(CONFIG)\Random$(OBJEXT): ..\Random.cpp "$(includedir)\IceUtil\Random.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\MutexPtrLock.h"
+$(ARCH)\$(CONFIG)\RecMutex$(OBJEXT): ..\RecMutex.cpp "$(includedir)\IceUtil\RecMutex.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h"
+$(ARCH)\$(CONFIG)\Shared$(OBJEXT): ..\Shared.cpp "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h"
+$(ARCH)\$(CONFIG)\StringUtil$(OBJEXT): ..\StringUtil.cpp "$(includedir)\IceUtil\StringUtil.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\Exception.h"
+$(ARCH)\$(CONFIG)\Thread$(OBJEXT): ..\Thread.cpp "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h"
+$(ARCH)\$(CONFIG)\ThreadException$(OBJEXT): ..\ThreadException.cpp "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Time.h"
+$(ARCH)\$(CONFIG)\Time$(OBJEXT): ..\Time.cpp "$(includedir)\IceUtil\DisableWarnings.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Time.h"
+$(ARCH)\$(CONFIG)\Timer$(OBJEXT): ..\Timer.cpp "$(includedir)\IceUtil\Timer.h" "$(includedir)\IceUtil\Shared.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Thread.h" "$(includedir)\IceUtil\Handle.h" "$(includedir)\IceUtil\Exception.h" "$(includedir)\IceUtil\Mutex.h" "$(includedir)\IceUtil\Lock.h" "$(includedir)\IceUtil\ThreadException.h" "$(includedir)\IceUtil\Time.h" "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Monitor.h" "$(includedir)\IceUtil\Cond.h"
+$(ARCH)\$(CONFIG)\UUID$(OBJEXT): ..\UUID.cpp "$(includedir)\IceUtil\UUID.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Random.h" "$(includedir)\IceUtil\Exception.h"
+$(ARCH)\$(CONFIG)\Unicode$(OBJEXT): ..\Unicode.cpp "$(includedir)\IceUtil\Unicode.h" "$(includedir)\IceUtil\Config.h" "$(includedir)\IceUtil\Exception.h" "..\..\IceUtil\ConvertUTF.h"
+$(ARCH)\$(CONFIG)\MutexProtocol$(OBJEXT): ..\MutexProtocol.cpp "$(includedir)\IceUtil\MutexProtocol.h" "$(includedir)\IceUtil\Config.h"
diff --git a/cpp/src/IceUtil/winrt/Makefile.mak b/cpp/src/IceUtil/winrt/Makefile.mak new file mode 100644 index 00000000000..abfbd31bcbc --- /dev/null +++ b/cpp/src/IceUtil/winrt/Makefile.mak @@ -0,0 +1,66 @@ +# **********************************************************************
+#
+# Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+LIBNAME = $(SDK_LIBRARY_PATH)\iceutil.lib
+TARGETS = $(LIBNAME)
+SOURCE_DIR = ..
+
+TARGETS = $(LIBNAME)
+
+OBJS = $(ARCH)\$(CONFIG)\ArgVector.obj \
+ $(ARCH)\$(CONFIG)\Cond.obj \
+ $(ARCH)\$(CONFIG)\ConvertUTF.obj \
+ $(ARCH)\$(CONFIG)\CountDownLatch.obj \
+ $(ARCH)\$(CONFIG)\Exception.obj \
+ $(ARCH)\$(CONFIG)\FileUtil.obj \
+ $(ARCH)\$(CONFIG)\InputUtil.obj \
+ $(ARCH)\$(CONFIG)\Options.obj \
+ $(ARCH)\$(CONFIG)\OutputUtil.obj \
+ $(ARCH)\$(CONFIG)\Random.obj \
+ $(ARCH)\$(CONFIG)\RecMutex.obj \
+ $(ARCH)\$(CONFIG)\Shared.obj \
+ $(ARCH)\$(CONFIG)\StringUtil.obj \
+ $(ARCH)\$(CONFIG)\Thread.obj \
+ $(ARCH)\$(CONFIG)\ThreadException.obj \
+ $(ARCH)\$(CONFIG)\Time.obj \
+ $(ARCH)\$(CONFIG)\Timer.obj \
+ $(ARCH)\$(CONFIG)\UUID.obj \
+ $(ARCH)\$(CONFIG)\Unicode.obj \
+ $(ARCH)\$(CONFIG)\MutexProtocol.obj
+
+SRCS = $(OBJS:.obj=.cpp)
+SRCS = $(SRCS:x86\=)
+SRCS = $(SRCS:x64\=)
+SRCS = $(SRCS:Retail\=..\)
+SRCS = $(SRCS:Debug\=..\)
+
+CPPFLAGS = $(CPPFLAGS) -DICE_UTIL_API_EXPORTS -I..\.. -DWIN32_LEAN_AND_MEAN
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+depend::
+ del /q .depend.mak
+
+.cpp.depend:
+ $(CXX) /Fo$(ARCH)\$(CONFIG)\ /Fd$(ARCH)\$(CONFIG)\ /Zs /showIncludes $(CXXFLAGS) $(CPPFLAGS) $< 2>&1 | python.exe $(ice_dir)/config/makedepend-winrt.py $<
+
+depend:: $(ARCH)\$(CONFIG) $(SRCS_DEPEND)
+
+RES_FILE = $(SOURCE_DIR)\IceUtil.res
+
+$(LIBNAME): $(OBJS) $(RES_FILE) sdks
+ $(AR) $(ARFLAGS) $(OBJS) /out:$(LIBNAME)
+
+clean::
+ -del /q $(ARCH)\$(CONFIG)\*.obj
+ -del /q $(ARCH)\$(CONFIG)\*.pdb
+ -del /q $(RES_FILE)
+
+!include .depend.mak
diff --git a/cpp/src/Makefile.mak b/cpp/src/Makefile.mak index f05958d22c2..0679c275d92 100644 --- a/cpp/src/Makefile.mak +++ b/cpp/src/Makefile.mak @@ -11,6 +11,14 @@ top_srcdir = .. !include $(top_srcdir)/config/Make.rules.mak
+!if "$(WINRT)" == "yes"
+SUBDIRS = IceUtil\winrt \
+ Ice\winrt \
+ Glacier2Lib\winrt \
+ IceStormLib\winrt \
+ IceGridLib\winrt
+
+!else
SUBDIRS = IceUtil \
Slice \
slice2cpp
@@ -65,6 +73,8 @@ SUBDIRS = $(SUBDIRS) \ !endif
+!endif
+
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
@if exist %i \
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index ab17e941fa8..18006779d94 100644 --- a/cpp/src/Slice/CPlusPlusUtil.cpp +++ b/cpp/src/Slice/CPlusPlusUtil.cpp @@ -10,6 +10,7 @@ #include <Slice/CPlusPlusUtil.h> #include <Slice/Util.h> #include <cstring> +#include <functional> #ifndef _WIN32 # include <fcntl.h> diff --git a/cpp/src/Slice/PHPUtil.cpp b/cpp/src/Slice/PHPUtil.cpp index 09b47cc03d9..64106ad98a2 100644 --- a/cpp/src/Slice/PHPUtil.cpp +++ b/cpp/src/Slice/PHPUtil.cpp @@ -8,6 +8,7 @@ // ********************************************************************** #include <Slice/PHPUtil.h> +#include <functional> using namespace std; using namespace Slice; |