summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rwxr-xr-xcpp/allTests.py16
-rw-r--r--cpp/demo/Ice/hello/config30
-rw-r--r--cpp/doc/ModuleIce.sgml139
-rw-r--r--cpp/slice/IcePack/Admin.ice7
-rw-r--r--cpp/src/Ice/.depend4
-rw-r--r--cpp/src/Ice/Incoming.cpp30
-rw-r--r--cpp/src/IcePack/Admin.cpp616
-rw-r--r--cpp/src/IcePack/AdminI.cpp19
-rw-r--r--cpp/src/IcePack/AdminI.h4
-rw-r--r--cpp/src/IcePack/Client.cpp33
-rw-r--r--cpp/src/IcePack/Forward.cpp2
-rw-r--r--cpp/src/IcePack/Server.cpp25
-rw-r--r--cpp/src/IcePack/icepack.dsp1029
-rw-r--r--cpp/test/Ice/exceptions/Collocated.cpp3
-rw-r--r--cpp/test/Ice/exceptions/Server.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Server.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Collocated.cpp3
-rw-r--r--cpp/test/Ice/inheritance/Server.cpp2
-rw-r--r--cpp/test/Ice/locationForward/Server.cpp2
-rw-r--r--cpp/test/Ice/operations/Client.cpp4
-rw-r--r--cpp/test/Ice/operations/Collocated.cpp3
-rw-r--r--cpp/test/Ice/operations/Server.cpp2
-rw-r--r--cpp/test/IcePack/Makefile22
-rw-r--r--cpp/test/IcePack/simple/.depend8
-rw-r--r--cpp/test/IcePack/simple/AllTests.cpp38
-rw-r--r--cpp/test/IcePack/simple/Client.cpp57
-rw-r--r--cpp/test/IcePack/simple/Collocated.cpp60
-rw-r--r--cpp/test/IcePack/simple/Makefile59
-rw-r--r--cpp/test/IcePack/simple/Server.cpp84
-rw-r--r--cpp/test/IcePack/simple/TestI.cpp23
-rw-r--r--cpp/test/IcePack/simple/TestI.h29
-rwxr-xr-xcpp/test/IcePack/simple/run.py49
-rw-r--r--cpp/test/IcePack/simple/simpleC.dsp165
-rw-r--r--cpp/test/IcePack/simple/simpleCOL.dsp165
-rw-r--r--cpp/test/IcePack/simple/simpleS.dsp161
-rw-r--r--cpp/test/Makefile3
-rwxr-xr-xcpp/test/Slice/errorDetection/run.py2
37 files changed, 2838 insertions, 64 deletions
diff --git a/cpp/allTests.py b/cpp/allTests.py
index d8502e15001..df3b10e284f 100755
--- a/cpp/allTests.py
+++ b/cpp/allTests.py
@@ -17,12 +17,16 @@ for toplevel in ["", "..", os.path.join("..", ".."), os.path.join("..", "..", ".
else:
raise "can't find toplevel directory!"
-for i in [ ("Slice", "errorDetection"), \
- ("Ice", "operations"), \
- ("Ice", "exceptions"), \
- ("Ice", "inheritance"), \
- ("Ice", "faultTolerance"), \
- ("Ice", "locationForward")]:
+for i in \
+ [ \
+ ("Slice", "errorDetection"), \
+ ("Ice", "operations"), \
+ ("Ice", "exceptions"), \
+ ("Ice", "inheritance"), \
+ ("Ice", "faultTolerance"), \
+ ("Ice", "locationForward"), \
+ ("IcePack", "simple"), \
+ ]:
dir = os.path.join(toplevel, "test", *i)
diff --git a/cpp/demo/Ice/hello/config b/cpp/demo/Ice/hello/config
new file mode 100644
index 00000000000..d74c5effb2f
--- /dev/null
+++ b/cpp/demo/Ice/hello/config
@@ -0,0 +1,30 @@
+#
+# The client reads this property to create the reference to the
+# "hello" object in the server.
+#
+Hello.Hello=hello:tcp -h localhost -p 10000:udp -h localhost -p 10000
+
+#
+# The server creates one single object adapter with the name
+# "helloadapater". The following line sets the endpoints for this
+# adapter
+#
+Ice.Adapter.HelloAdapter.Endpoints=tcp -p 10000:udp -p 10000
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+Ice.Trace.Network=3
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+Ice.Trace.Protocol=1
diff --git a/cpp/doc/ModuleIce.sgml b/cpp/doc/ModuleIce.sgml
index 8bc7f9adfd7..4a01cd76a20 100644
--- a/cpp/doc/ModuleIce.sgml
+++ b/cpp/doc/ModuleIce.sgml
@@ -83,6 +83,8 @@ objects, which it doesn't find in its Active Object Map.
</term>
<listitem>
<para>
+A property set to configure Ice and applications based on
+Ice.
</para>
</listitem>
</varlistentry>
@@ -1626,8 +1628,7 @@ locator must be set with the Object Adapter's
</term>
<listitem>
<para>
-Called by the Object Adapter after a request, provided that
-<literal>locate</literal> did not return null.
+Called by the Object Adapter after a request.
</para>
</listitem>
</varlistentry>
@@ -1655,8 +1656,10 @@ cannot be found in the Object Adapter's Active Object Map.
<type>Object</type> <parameter>object</parameter>,
<type>Object</type> <parameter>cookie</parameter>);</synopsis>
<para>
-Called by the Object Adapter after a request, provided that
-<literal>locate</literal> did not return null. This operation
+Called by the Object Adapter after a request. This operation is
+only called if <literal>locate</literal> did not return null,
+or if <literal>locate</literal> threw a
+<literal>LocationForward</literal> exception. This operation
can be used for cleanup after a request.
</para>
<section>
@@ -1885,6 +1888,10 @@ found.
</title>
<synopsis>local class <classname>Properties</classname></synopsis>
<para>
+A property set to configure Ice and applications based on
+Ice. Properties are key/value pairs, with both keys and values
+being strings. By conventions, property keys should have the form
+<replaceable>application-name</replaceable>[[.<replaceable>category</replaceable>].<replaceable>sub-category</replaceable>].<replaceable>name</replaceable>.
</para>
<section>
<title>
@@ -1893,19 +1900,31 @@ found.
<variablelist>
<varlistentry>
<term>
- <link linkend="ModuleIce.sgml.45"><type>getProperty</type></link>
+ <link linkend="ModuleIce.sgml.45"><type>clone</type></link>
</term>
<listitem>
<para>
+Create a copy of this property set.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- <link linkend="ModuleIce.sgml.46"><type>setProperty</type></link>
+ <link linkend="ModuleIce.sgml.46"><type>getProperty</type></link>
</term>
<listitem>
<para>
+Get a property by key.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <link linkend="ModuleIce.sgml.47"><type>setProperty</type></link>
+ </term>
+ <listitem>
+ <para>
+Set a property.
</para>
</listitem>
</varlistentry>
@@ -1914,14 +1933,72 @@ found.
</section>
<section id="ModuleIce.sgml.45">
<title>
+ clone
+ </title>
+<synopsis><link linkend="ModuleIce.sgml.7"><classname>Properties</classname></link> <function>clone</function>();</synopsis>
+ <para>
+Create a copy of this property set.
+ </para>
+ <section>
+ <title>
+ Return Value
+ </title>
+ <para>
+ A copy of this property set.
+ </para>
+ </section>
+ </section>
+ <section id="ModuleIce.sgml.46">
+ <title>
getProperty
</title>
<synopsis><type>string</type> <function>getProperty</function>(
<type>string</type> <parameter>key</parameter>);</synopsis>
<para>
+Get a property by key. If the property does not exist, an empty
+string is returned.
</para>
+ <section>
+ <title>
+ Parameters
+ </title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <parameter>
+ key
+ </parameter>
+ </term>
+ <listitem>
+ <para>
+ The property key.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>
+ Return Value
+ </title>
+ <para>
+ The property value.
+ </para>
+ </section>
+ <section>
+ <title>
+ See Also
+ </title>
+ <para>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ModuleIce.sgml.47"><type>setProperty</type></link>
+ </member>
+ </simplelist>
+ </para>
+ </section>
</section>
- <section id="ModuleIce.sgml.46">
+ <section id="ModuleIce.sgml.47">
<title>
setProperty
</title>
@@ -1929,7 +2006,51 @@ found.
<type>string</type> <parameter>key</parameter>,
<type>string</type> <parameter>value</parameter>);</synopsis>
<para>
+Set a property.
</para>
+ <section>
+ <title>
+ Parameters
+ </title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <parameter>
+ key
+ </parameter>
+ </term>
+ <listitem>
+ <para>
+ The property key.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <parameter>
+ value
+ </parameter>
+ </term>
+ <listitem>
+ <para>
+ The property value.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>
+ See Also
+ </title>
+ <para>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ModuleIce.sgml.46"><type>getProperty</type></link>
+ </member>
+ </simplelist>
+ </para>
+ </section>
</section>
</section>
<section id="ModuleIce.sgml.8">
@@ -1950,7 +2071,7 @@ found.
<variablelist>
<varlistentry>
<term>
- <link linkend="ModuleIce.sgml.47"><type>create</type></link>
+ <link linkend="ModuleIce.sgml.48"><type>create</type></link>
</term>
<listitem>
<para>
@@ -1960,7 +2081,7 @@ found.
</variablelist>
</section>
</section>
- <section id="ModuleIce.sgml.47">
+ <section id="ModuleIce.sgml.48">
<title>
create
</title>
diff --git a/cpp/slice/IcePack/Admin.ice b/cpp/slice/IcePack/Admin.ice
index e5e9ffa190f..2736c12d120 100644
--- a/cpp/slice/IcePack/Admin.ice
+++ b/cpp/slice/IcePack/Admin.ice
@@ -119,6 +119,13 @@ class Admin
*
**/
ServerDescription find(Object* object);
+
+ /**
+ *
+ * Shut down IcePack.
+ *
+ **/
+ void shutdown();
};
};
diff --git a/cpp/src/Ice/.depend b/cpp/src/Ice/.depend
index 9f5def097e7..096a6223d1b 100644
--- a/cpp/src/Ice/.depend
+++ b/cpp/src/Ice/.depend
@@ -37,4 +37,6 @@ TcpConnector.o: TcpConnector.cpp ../Ice/TcpConnector.h ../Ice/TransceiverF.h ../
TcpAcceptor.o: TcpAcceptor.cpp ../Ice/TcpAcceptor.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/TcpTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../Ice/Network.h ../../include/Ice/LocalException.h
TcpTransceiver.o: TcpTransceiver.cpp ../Ice/TcpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h
SslConnector.o: SslConnector.cpp ../Ice/SslConnector.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/SslTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../Ice/Network.h ../../include/Ice/LocalException.h
-SslAcceptor.o: SslAcceptor.cpp ../Ice/SslAcceptor.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../incl \ No newline at end of file
+SslAcceptor.o: SslAcceptor.cpp ../Ice/SslAcceptor.h ../Ice/TransceiverF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/InstanceF.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/SslTransceiver.h ../Ice/Transceiver.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../Ice/Network.h ../../include/Ice/LocalException.h
+SslTransceiver.o: SslTransceiver.cpp ../Ice/SslTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h
+UdpTransceiver.o: UdpTransceiver.cpp ../Ice/UdpTransceiver.h ../../include/Ice/InstanceF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../Ice/TraceLevelsF.h ../../include/Ice/LoggerF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Native.h ../../include/Ice/LocalObject.h ../../include/Ice/Shared.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/Instance.h ../../include/Ice/CommunicatorF.h ../../include/Ice/PropertiesF.h ../../include/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../../include/Ice/EmitterF.h ../Ice/ValueFactoryManagerF.h ../../include/Ice/ObjectAdapterFactoryF.h ../../include/Ice/PicklerF.h ../Ice/TraceLevels.h ../../include/Ice/Logger.h ../../include/Ice/Buffer.h ../Ice/Network.h ../../include/Ice/LocalException.h
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index 3e0d5d3761e..36f2c250faf 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -41,26 +41,26 @@ IceInternal::Incoming::invoke(Stream& is)
_os.write(Byte(0));
ObjectPtr object = _adapter->identityToObject(identity);
-
ObjectLocatorPtr locator;
ObjectPtr cookie;
- if (object)
- {
- locator = _adapter->getObjectLocator();
- if (locator)
- {
- object = locator->locate(_adapter, identity, cookie);
- }
- }
-
- if(!object)
- {
- *(_os.b.begin() + statusPos) = static_cast<Byte>(DispatchObjectNotExist);
- return;
- }
try
{
+ if (!object)
+ {
+ locator = _adapter->getObjectLocator();
+ if (locator)
+ {
+ object = locator->locate(_adapter, identity, cookie);
+ }
+ }
+
+ if(!object)
+ {
+ *(_os.b.begin() + statusPos) = static_cast<Byte>(DispatchObjectNotExist);
+ return;
+ }
+
DispatchStatus status = object->__dispatch(*this, operation);
if (status != DispatchOK && status != DispatchException && status != DispatchOperationNotExist)
{
diff --git a/cpp/src/IcePack/Admin.cpp b/cpp/src/IcePack/Admin.cpp
new file mode 100644
index 00000000000..01f83491138
--- /dev/null
+++ b/cpp/src/IcePack/Admin.cpp
@@ -0,0 +1,616 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+// Generated from file `Admin.ice'
+// Ice version 0.0.1
+
+#include <IcePack/Admin.h>
+
+#ifndef ICE_IGNORE_VERSION
+# if ICE_INT_VERSION != 0x1
+# error Ice version mismatch!
+# endif
+#endif
+
+void IceInternal::incRef(::IcePack::ServerDescription* p) { p->__incRef(); }
+void IceInternal::decRef(::IcePack::ServerDescription* p) { p->__decRef(); }
+
+void IceInternal::incRef(::IceProxy::IcePack::ServerDescription* p) { p->__incRef(); }
+void IceInternal::decRef(::IceProxy::IcePack::ServerDescription* p) { p->__decRef(); }
+
+void IceInternal::checkedCast(::IceProxy::Ice::Object* b, ::IceProxy::IcePack::ServerDescription*& d)
+{
+ d = dynamic_cast< ::IceProxy::IcePack::ServerDescription*>(b);
+ if (!d && b->_isA("::IcePack::ServerDescription"))
+ {
+ d = new ::IceProxy::IcePack::ServerDescription;
+ b->__copyTo(d);
+ }
+}
+
+void IceInternal::uncheckedCast(::IceProxy::Ice::Object* b, ::IceProxy::IcePack::ServerDescription*& d)
+{
+ d = dynamic_cast< ::IceProxy::IcePack::ServerDescription*>(b);
+ if (!d)
+ {
+ d = new ::IceProxy::IcePack::ServerDescription;
+ b->__copyTo(d);
+ }
+}
+
+void IceInternal::incRef(::IcePack::Admin* p) { p->__incRef(); }
+void IceInternal::decRef(::IcePack::Admin* p) { p->__decRef(); }
+
+void IceInternal::incRef(::IceProxy::IcePack::Admin* p) { p->__incRef(); }
+void IceInternal::decRef(::IceProxy::IcePack::Admin* p) { p->__decRef(); }
+
+void IceInternal::checkedCast(::IceProxy::Ice::Object* b, ::IceProxy::IcePack::Admin*& d)
+{
+ d = dynamic_cast< ::IceProxy::IcePack::Admin*>(b);
+ if (!d && b->_isA("::IcePack::Admin"))
+ {
+ d = new ::IceProxy::IcePack::Admin;
+ b->__copyTo(d);
+ }
+}
+
+void IceInternal::uncheckedCast(::IceProxy::Ice::Object* b, ::IceProxy::IcePack::Admin*& d)
+{
+ d = dynamic_cast< ::IceProxy::IcePack::Admin*>(b);
+ if (!d)
+ {
+ d = new ::IceProxy::IcePack::Admin;
+ b->__copyTo(d);
+ }
+}
+
+void
+IcePack::__write(::IceInternal::Stream* __os, const ::IcePack::ServerDescriptionPrx& v)
+{
+ __os->write(::Ice::ObjectPrx(v));
+}
+
+void
+IcePack::__read(::IceInternal::Stream* __is, ::IcePack::ServerDescriptionPrx& v)
+{
+ ::Ice::ObjectPrx proxy;
+ __is->read(proxy);
+ if (!proxy)
+ {
+ v = 0;
+ }
+ else
+ {
+ v = new ::IceProxy::IcePack::ServerDescription;
+ proxy->__copyTo(v.get());
+ }
+}
+
+void
+IcePack::__write(::IceInternal::Stream* __os, const ::IcePack::AdminPrx& v)
+{
+ __os->write(::Ice::ObjectPrx(v));
+}
+
+void
+IcePack::__read(::IceInternal::Stream* __is, ::IcePack::AdminPrx& v)
+{
+ ::Ice::ObjectPrx proxy;
+ __is->read(proxy);
+ if (!proxy)
+ {
+ v = 0;
+ }
+ else
+ {
+ v = new ::IceProxy::IcePack::Admin;
+ proxy->__copyTo(v.get());
+ }
+}
+
+void
+IceProxy::IcePack::ServerDescription::_throw()
+{
+ throw ::IcePack::ServerDescriptionPrxE(this);
+}
+
+::IceInternal::Handle< ::IceDelegateM::Ice::Object>
+IceProxy::IcePack::ServerDescription::__createDelegateM()
+{
+ return ::IceInternal::Handle< ::IceDelegateM::Ice::Object>(new ::IceDelegateM::IcePack::ServerDescription);
+}
+
+void
+IceProxy::IcePack::Admin::_throw()
+{
+ throw ::IcePack::AdminPrxE(this);
+}
+
+void
+IceProxy::IcePack::Admin::add(const ::IcePack::ServerDescriptionPtr& description)
+{
+ int __cnt = 0;
+ while (true)
+ {
+ ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
+ ::IceDelegate::IcePack::Admin* __del = dynamic_cast< ::IceDelegate::IcePack::Admin*>(__delBase.get());
+ try
+ {
+ __del->add(description);
+ return;
+ }
+ catch (const ::Ice::LocationForward& __ex)
+ {
+ __locationForward(__ex);
+ }
+ catch (const ::IceInternal::NonRepeatable& __ex)
+ {
+ __ex.raise();
+ }
+ catch (const ::Ice::LocalException& __ex)
+ {
+ __handleException(__ex, __cnt);
+ }
+ }
+}
+
+void
+IceProxy::IcePack::Admin::remove(const ::Ice::ObjectPrx& object)
+{
+ int __cnt = 0;
+ while (true)
+ {
+ ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
+ ::IceDelegate::IcePack::Admin* __del = dynamic_cast< ::IceDelegate::IcePack::Admin*>(__delBase.get());
+ try
+ {
+ __del->remove(object);
+ return;
+ }
+ catch (const ::Ice::LocationForward& __ex)
+ {
+ __locationForward(__ex);
+ }
+ catch (const ::IceInternal::NonRepeatable& __ex)
+ {
+ __ex.raise();
+ }
+ catch (const ::Ice::LocalException& __ex)
+ {
+ __handleException(__ex, __cnt);
+ }
+ }
+}
+
+::IcePack::ServerDescriptionPtr
+IceProxy::IcePack::Admin::find(const ::Ice::ObjectPrx& object)
+{
+ int __cnt = 0;
+ while (true)
+ {
+ ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
+ ::IceDelegate::IcePack::Admin* __del = dynamic_cast< ::IceDelegate::IcePack::Admin*>(__delBase.get());
+ try
+ {
+ return __del->find(object);
+ }
+ catch (const ::Ice::LocationForward& __ex)
+ {
+ __locationForward(__ex);
+ }
+ catch (const ::IceInternal::NonRepeatable& __ex)
+ {
+ __ex.raise();
+ }
+ catch (const ::Ice::LocalException& __ex)
+ {
+ __handleException(__ex, __cnt);
+ }
+ }
+}
+
+void
+IceProxy::IcePack::Admin::shutdown()
+{
+ int __cnt = 0;
+ while (true)
+ {
+ ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();
+ ::IceDelegate::IcePack::Admin* __del = dynamic_cast< ::IceDelegate::IcePack::Admin*>(__delBase.get());
+ try
+ {
+ __del->shutdown();
+ return;
+ }
+ catch (const ::Ice::LocationForward& __ex)
+ {
+ __locationForward(__ex);
+ }
+ catch (const ::IceInternal::NonRepeatable& __ex)
+ {
+ __ex.raise();
+ }
+ catch (const ::Ice::LocalException& __ex)
+ {
+ __handleException(__ex, __cnt);
+ }
+ }
+}
+
+::IceInternal::Handle< ::IceDelegateM::Ice::Object>
+IceProxy::IcePack::Admin::__createDelegateM()
+{
+ return ::IceInternal::Handle< ::IceDelegateM::Ice::Object>(new ::IceDelegateM::IcePack::Admin);
+}
+
+void
+IceDelegateM::IcePack::Admin::add(const ::IcePack::ServerDescriptionPtr& description)
+{
+ ::IceInternal::Outgoing __out(__emitter(), __reference());
+ ::IceInternal::Stream* __os = __out.os();
+ __os->write("add");
+ {
+ ::Ice::ObjectPtr __obj = description;
+ __os->write(__obj);
+ }
+ if (!__out.invoke())
+ {
+ throw ::Ice::UnknownUserException(__FILE__, __LINE__);
+ }
+}
+
+void
+IceDelegateM::IcePack::Admin::remove(const ::Ice::ObjectPrx& object)
+{
+ ::IceInternal::Outgoing __out(__emitter(), __reference());
+ ::IceInternal::Stream* __os = __out.os();
+ __os->write("remove");
+ __os->write(object);
+ if (!__out.invoke())
+ {
+ throw ::Ice::UnknownUserException(__FILE__, __LINE__);
+ }
+}
+
+::IcePack::ServerDescriptionPtr
+IceDelegateM::IcePack::Admin::find(const ::Ice::ObjectPrx& object)
+{
+ ::IceInternal::Outgoing __out(__emitter(), __reference());
+ ::IceInternal::Stream* __is = __out.is();
+ ::IceInternal::Stream* __os = __out.os();
+ __os->write("find");
+ __os->write(object);
+ if (!__out.invoke())
+ {
+ throw ::Ice::UnknownUserException(__FILE__, __LINE__);
+ }
+ ::IcePack::ServerDescriptionPtr __ret;
+ {
+ ::Ice::ObjectPtr __obj;
+ __is->read(__obj, ::IcePack::ServerDescription::__classIds[0]);
+ if (!__obj)
+ {
+ __obj = new ::IcePack::ServerDescription;
+ __obj->__read(__is);
+ }
+ __ret = ::IcePack::ServerDescriptionPtr::dynamicCast(__obj);
+ if (!__ret)
+ {
+ throw ::Ice::ValueUnmarshalException(__FILE__, __LINE__);
+ }
+ }
+ return __ret;
+}
+
+void
+IceDelegateM::IcePack::Admin::shutdown()
+{
+ ::IceInternal::Outgoing __out(__emitter(), __reference());
+ ::IceInternal::Stream* __os = __out.os();
+ __os->write("shutdown");
+ if (!__out.invoke())
+ {
+ throw ::Ice::UnknownUserException(__FILE__, __LINE__);
+ }
+}
+
+IcePack::ServerDescriptionPtrE::ServerDescriptionPtrE(const ServerDescriptionPtrE& p)
+{
+ _ptr = p._ptr;
+}
+
+IcePack::ServerDescriptionPtrE::ServerDescriptionPtrE(const ::IcePack::ServerDescriptionPtr& p)
+{
+ _ptr = p;
+}
+
+IcePack::ServerDescriptionPtrE::operator ::IcePack::ServerDescriptionPtr() const
+{
+ return ::IcePack::ServerDescriptionPtr(dynamic_cast< ::IcePack::ServerDescription*>(_ptr.get()));
+}
+
+::IcePack::ServerDescription*
+IcePack::ServerDescriptionPtrE::operator->() const
+{
+ return dynamic_cast< ::IcePack::ServerDescription*>(_ptr.get());
+}
+
+IcePack::ServerDescriptionPrxE::ServerDescriptionPrxE(const ServerDescriptionPrxE& p)
+{
+ _prx = p._prx;
+}
+
+IcePack::ServerDescriptionPrxE::ServerDescriptionPrxE(const ::IcePack::ServerDescriptionPrx& p)
+{
+ _prx = p;
+}
+
+IcePack::ServerDescriptionPrxE::operator ::IcePack::ServerDescriptionPrx() const
+{
+ return ::IcePack::ServerDescriptionPrx(dynamic_cast< ::IceProxy::IcePack::ServerDescription*>(_prx.get()));
+}
+
+::IceProxy::IcePack::ServerDescription*
+IcePack::ServerDescriptionPrxE::operator->() const
+{
+ return dynamic_cast< ::IceProxy::IcePack::ServerDescription*>(_prx.get());
+}
+
+void
+IcePack::ServerDescription::_throw()
+{
+ throw ::IcePack::ServerDescriptionPtrE(this);
+}
+
+std::string IcePack::ServerDescription::__ids[2] =
+{
+ "::Ice::Object",
+ "::IcePack::ServerDescription"
+};
+
+std::string IcePack::ServerDescription::__classIds[2] =
+{
+ "::IcePack::ServerDescription",
+ "::Ice::Object"
+};
+
+bool
+IcePack::ServerDescription::_isA(const std::string& s)
+{
+ std::string* b = __ids;
+ std::string* e = __ids + 2;
+ std::pair<std::string*, std::string*> r = std::equal_range(b, e, s);
+ return r.first != r.second;
+}
+
+const std::string*
+IcePack::ServerDescription::_classIds()
+{
+ return __classIds;
+}
+
+void
+IcePack::ServerDescription::__write(::IceInternal::Stream* __os)
+{
+ __os->startWriteEncaps();
+ __os->write(object);
+ __os->write(regex);
+ __os->write(host);
+ __os->write(path);
+ __os->endWriteEncaps();
+}
+
+void
+IcePack::ServerDescription::__read(::IceInternal::Stream* __is)
+{
+ __is->startReadEncaps();
+ __is->read(object);
+ __is->read(regex);
+ __is->read(host);
+ __is->read(path);
+ __is->endReadEncaps();
+}
+
+IcePack::AdminPtrE::AdminPtrE(const AdminPtrE& p)
+{
+ _ptr = p._ptr;
+}
+
+IcePack::AdminPtrE::AdminPtrE(const ::IcePack::AdminPtr& p)
+{
+ _ptr = p;
+}
+
+IcePack::AdminPtrE::operator ::IcePack::AdminPtr() const
+{
+ return ::IcePack::AdminPtr(dynamic_cast< ::IcePack::Admin*>(_ptr.get()));
+}
+
+::IcePack::Admin*
+IcePack::AdminPtrE::operator->() const
+{
+ return dynamic_cast< ::IcePack::Admin*>(_ptr.get());
+}
+
+IcePack::AdminPrxE::AdminPrxE(const AdminPrxE& p)
+{
+ _prx = p._prx;
+}
+
+IcePack::AdminPrxE::AdminPrxE(const ::IcePack::AdminPrx& p)
+{
+ _prx = p;
+}
+
+IcePack::AdminPrxE::operator ::IcePack::AdminPrx() const
+{
+ return ::IcePack::AdminPrx(dynamic_cast< ::IceProxy::IcePack::Admin*>(_prx.get()));
+}
+
+::IceProxy::IcePack::Admin*
+IcePack::AdminPrxE::operator->() const
+{
+ return dynamic_cast< ::IceProxy::IcePack::Admin*>(_prx.get());
+}
+
+void
+IcePack::Admin::_throw()
+{
+ throw ::IcePack::AdminPtrE(this);
+}
+
+std::string IcePack::Admin::__ids[2] =
+{
+ "::Ice::Object",
+ "::IcePack::Admin"
+};
+
+std::string IcePack::Admin::__classIds[2] =
+{
+ "::IcePack::Admin",
+ "::Ice::Object"
+};
+
+bool
+IcePack::Admin::_isA(const std::string& s)
+{
+ std::string* b = __ids;
+ std::string* e = __ids + 2;
+ std::pair<std::string*, std::string*> r = std::equal_range(b, e, s);
+ return r.first != r.second;
+}
+
+const std::string*
+IcePack::Admin::_classIds()
+{
+ return __classIds;
+}
+
+::IceInternal::DispatchStatus
+IcePack::Admin::___add(::IceInternal::Incoming& __in)
+{
+ ::IceInternal::Stream* __is = __in.is();
+ ::IcePack::ServerDescriptionPtr description;
+ {
+ ::Ice::ObjectPtr __obj;
+ __is->read(__obj, ::IcePack::ServerDescription::__classIds[0]);
+ if (!__obj)
+ {
+ __obj = new ::IcePack::ServerDescription;
+ __obj->__read(__is);
+ }
+ description = ::IcePack::ServerDescriptionPtr::dynamicCast(__obj);
+ if (!description)
+ {
+ throw ::Ice::ValueUnmarshalException(__FILE__, __LINE__);
+ }
+ }
+ add(description);
+ return ::IceInternal::DispatchOK;
+}
+
+::IceInternal::DispatchStatus
+IcePack::Admin::___remove(::IceInternal::Incoming& __in)
+{
+ ::IceInternal::Stream* __is = __in.is();
+ ::Ice::ObjectPrx object;
+ __is->read(object);
+ remove(object);
+ return ::IceInternal::DispatchOK;
+}
+
+::IceInternal::DispatchStatus
+IcePack::Admin::___find(::IceInternal::Incoming& __in)
+{
+ ::IceInternal::Stream* __is = __in.is();
+ ::IceInternal::Stream* __os = __in.os();
+ ::Ice::ObjectPrx object;
+ __is->read(object);
+ ::IcePack::ServerDescriptionPtr __ret = find(object);
+ {
+ ::Ice::ObjectPtr __obj = __ret;
+ __os->write(__obj);
+ }
+ return ::IceInternal::DispatchOK;
+}
+
+::IceInternal::DispatchStatus
+IcePack::Admin::___shutdown(::IceInternal::Incoming& __in)
+{
+ shutdown();
+ return ::IceInternal::DispatchOK;
+}
+
+std::string IcePack::Admin::__names[6] =
+{
+ "_isA",
+ "_ping",
+ "add",
+ "find",
+ "remove",
+ "shutdown"
+};
+
+::IceInternal::DispatchStatus
+IcePack::Admin::__dispatch(::IceInternal::Incoming& in, const std::string& s)
+{
+ std::string* b = __names;
+ std::string* e = __names + 6;
+ std::pair<std::string*, std::string*> r = std::equal_range(b, e, s);
+ if (r.first == r.second)
+ {
+ return ::IceInternal::DispatchOperationNotExist;
+ }
+
+ switch (r.first - __names)
+ {
+ case 0:
+ {
+ return ____isA(in);
+ }
+ case 1:
+ {
+ return ____ping(in);
+ }
+ case 2:
+ {
+ return ___add(in);
+ }
+ case 3:
+ {
+ return ___find(in);
+ }
+ case 4:
+ {
+ return ___remove(in);
+ }
+ case 5:
+ {
+ return ___shutdown(in);
+ }
+ }
+
+ assert(false);
+ return ::IceInternal::DispatchOperationNotExist;
+}
+
+void
+IcePack::Admin::__write(::IceInternal::Stream* __os)
+{
+ __os->startWriteEncaps();
+ __os->endWriteEncaps();
+}
+
+void
+IcePack::Admin::__read(::IceInternal::Stream* __is)
+{
+ __is->startReadEncaps();
+ __is->endReadEncaps();
+}
diff --git a/cpp/src/IcePack/AdminI.cpp b/cpp/src/IcePack/AdminI.cpp
index 663cccd106b..9315d441c70 100644
--- a/cpp/src/IcePack/AdminI.cpp
+++ b/cpp/src/IcePack/AdminI.cpp
@@ -15,7 +15,8 @@ using namespace std;
using namespace Ice;
using namespace IcePack;
-AdminI::AdminI()
+AdminI::AdminI(const CommunicatorPtr& communicator) :
+ _communicator(communicator)
{
}
@@ -48,10 +49,24 @@ AdminI::find(const ObjectPrx& p)
if (p)
{
- return _map.find(p)->second;
+ map<ObjectPrx, ServerDescriptionPtr>::iterator q = _map.find(p);
+ if (q != _map.end())
+ {
+ return q->second;
+ }
+ else
+ {
+ return 0;
+ }
}
else
{
return 0;
}
}
+
+void
+AdminI::shutdown()
+{
+ _communicator->shutdown();
+}
diff --git a/cpp/src/IcePack/AdminI.h b/cpp/src/IcePack/AdminI.h
index 111f8efd118..3d6586c7d07 100644
--- a/cpp/src/IcePack/AdminI.h
+++ b/cpp/src/IcePack/AdminI.h
@@ -18,14 +18,16 @@ class AdminI : public IcePack::Admin, public JTCMutex
{
public:
- AdminI();
+ AdminI(const Ice::CommunicatorPtr&);
virtual void add(const IcePack::ServerDescriptionPtr&);
virtual void remove(const Ice::ObjectPrx&);
virtual IcePack::ServerDescriptionPtr find(const Ice::ObjectPrx&);
+ virtual void shutdown();
private:
+ Ice::CommunicatorPtr _communicator;
std::map<Ice::ObjectPrx, IcePack::ServerDescriptionPtr> _map;
};
diff --git a/cpp/src/IcePack/Client.cpp b/cpp/src/IcePack/Client.cpp
index a2d94c3d1d5..85462a61fdf 100644
--- a/cpp/src/IcePack/Client.cpp
+++ b/cpp/src/IcePack/Client.cpp
@@ -19,7 +19,7 @@ using namespace IcePack;
void
usage(const char* n)
{
- cerr << "Usage: " << n << " [options] add|remove reference...\n";
+ cerr << "Usage: " << n << " [options] add reference...|remove reference...|shutdown\n";
cerr <<
"Options:\n"
"-h, --help Show this message.\n"
@@ -50,13 +50,6 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
string cmd = argv[1];
- if (argc < 3)
- {
- cerr << argv[0] << ": no reference" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
- }
-
Ice::ObjectPrx adminBase = communicator->stringToProxy("admin:" + adminEndpoints);
AdminPrx admin = AdminPrx::checkedCast(adminBase);
if (!admin)
@@ -67,6 +60,13 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
if (cmd == "add")
{
+ if (argc < 3)
+ {
+ cerr << argv[0] << ": no reference" << endl;
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
for (int i = 2; i < argc; ++i)
{
ServerDescriptionPtr desc = new ServerDescription;
@@ -76,11 +76,28 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
}
else if (cmd == "remove")
{
+ if (argc < 3)
+ {
+ cerr << argv[0] << ": no reference" << endl;
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
for (int i = 2; i < argc; ++i)
{
admin->remove(communicator->stringToProxy(argv[i]));
}
}
+ else if (cmd == "shutdown")
+ {
+ if (argc > 2)
+ {
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ admin->shutdown();
+ }
else
{
cerr << argv[0] << ": invalid command `" << cmd << "'" << endl;
diff --git a/cpp/src/IcePack/Forward.cpp b/cpp/src/IcePack/Forward.cpp
index ffce65f468f..490e508e4db 100644
--- a/cpp/src/IcePack/Forward.cpp
+++ b/cpp/src/IcePack/Forward.cpp
@@ -28,7 +28,7 @@ Forward::locate(const ObjectAdapterPtr& adapter, const string& identity, ObjectP
if (desc)
{
assert(desc->object);
- throw LocationForward(proxy);
+ throw LocationForward(desc->object);
}
return 0;
}
diff --git a/cpp/src/IcePack/Server.cpp b/cpp/src/IcePack/Server.cpp
index cfc5c19904c..ea0b0a4e967 100644
--- a/cpp/src/IcePack/Server.cpp
+++ b/cpp/src/IcePack/Server.cpp
@@ -26,16 +26,18 @@ usage(const char* n)
"-v, --version Display the Ice version.\n"
"--forward ENDPOINTS Use ENDPOINTS as endpoints for the forwarder.\n"
"--admin ENDPOINTS Enable administrative endpoints and set them to ENDPOINTS.\n"
+ "--nowarn Don't print any security warnings.\n"
+ "--pid Print the process id on standard output upon startup.\n"
;
}
int
-run(int argc, char* argv[], CommunicatorPtr communicator)
+run(int argc, char* argv[], CommunicatorPtr communicator, bool pid, bool nowarn)
{
PropertiesPtr properties = communicator->getProperties();
string adminEndpoints = properties->getProperty("Ice.Adapter.Admin.Endpoints");
- if(adminEndpoints.length() != 0)
+ if(adminEndpoints.length() != 0 && !nowarn)
{
cerr << argv[0] << ": warning: administrative endpoints `Ice.Adapter.Admin.Endpoints' enabled" << endl;
}
@@ -47,7 +49,7 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
return EXIT_FAILURE;
}
- AdminPtr admin = new AdminI;
+ AdminPtr admin = new AdminI(communicator);
ObjectLocatorPtr forward = new Forward(admin);
if (adminEndpoints.length() != 0)
@@ -61,6 +63,11 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
forwardAdapter->setObjectLocator(forward);
forwardAdapter->activate();
+ if (pid)
+ {
+ cout << getpid() << endl;
+ }
+
communicator->waitForShutdown();
return EXIT_SUCCESS;
}
@@ -70,6 +77,8 @@ main(int argc, char* argv[])
{
PropertiesPtr properties = getDefaultProperties();
+ bool nowarn = false;
+ bool pid = false;
for (int i = 1; i < argc; ++i)
{
if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0)
@@ -82,6 +91,14 @@ main(int argc, char* argv[])
cout << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
+ else if(strcmp(argv[i], "--nowarn") == 0)
+ {
+ nowarn = true;
+ }
+ else if(strcmp(argv[i], "--pid") == 0)
+ {
+ pid = true;
+ }
else if (strcmp(argv[i], "--forward") == 0)
{
if (i + 1 >= argc)
@@ -118,7 +135,7 @@ main(int argc, char* argv[])
try
{
communicator = initializeWithProperties(argc, argv, properties);
- status = run(argc, argv, communicator);
+ status = run(argc, argv, communicator, pid, nowarn);
}
catch(const LocalException& ex)
{
diff --git a/cpp/src/IcePack/icepack.dsp b/cpp/src/IcePack/icepack.dsp
new file mode 100644
index 00000000000..0c0f90f22a8
--- /dev/null
+++ b/cpp/src/IcePack/icepack.dsp
@@ -0,0 +1,1029 @@
+# Microsoft Developer Studio Project File - Name="IcePack" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=IcePack - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "IcePack.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "IcePack.mak" CFG="IcePack - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "IcePack - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "IcePack - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRARY_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".." /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICE_API_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 jtc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /dll /machine:I386 /out:"Release/ice001.dll"
+# SUBTRACT LINK32 /pdb:none
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy Release\ice001.* ..\..\lib
+# End Special Build Tool
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRARY_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".." /I "../../include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICE_API_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 jtcd.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"Debug/ice001d.dll" /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy Debug\ice001d.* ..\..\lib
+# End Special Build Tool
+
+!ENDIF
+
+# Begin Target
+
+# Name "IcePack - Win32 Release"
+# Name "IcePack - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Acceptor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Collector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Communicator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CommunicatorI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Connector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Emitter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Endpoint.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EventHandler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Incoming.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Instance.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocalException.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocalObject.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Logger.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LoggerI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Network.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Object.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjectAdapter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjectAdapterFactory.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjectAdapterI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Outgoing.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Pickler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PicklerI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Properties.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PropertiesI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Proxy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ProxyFactory.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Reference.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Shared.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SslAcceptor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SslConnector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SslTransceiver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TcpAcceptor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TcpConnector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TcpTransceiver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ThreadPool.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TraceLevels.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TraceUtil.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Transceiver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\UdpTransceiver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueFactory.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueFactoryManager.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\IcePack\Acceptor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\AcceptorF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Buffer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Collector.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\CollectorF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Communicator.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\CommunicatorF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\CommunicatorI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Config.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Connector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ConnectorF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Emitter.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\EmitterF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Endpoint.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\EndpointF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\EventHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\EventHandlerF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Functional.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Handle.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\IcePack.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Incoming.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Initialize.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Instance.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\InstanceF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\LocalException.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\LocalObject.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\LocalObjectF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Logger.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\LoggerF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\LoggerI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Native.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Network.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Object.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ObjectAdapter.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ObjectAdapterF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ObjectAdapterFactory.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ObjectAdapterFactoryF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ObjectAdapterI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ObjectF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Outgoing.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Pickler.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\PicklerF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\PicklerI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Properties.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\PropertiesF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\PropertiesI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Proxy.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ProxyF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ProxyFactory.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ProxyFactoryF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ProxyHandle.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Reference.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ReferenceF.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Shared.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\SslAcceptor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\SslConnector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\SslTransceiver.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TcpAcceptor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TcpConnector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TcpTransceiver.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ThreadPool.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ThreadPoolF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TraceLevels.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TraceLevelsF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TraceUtil.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\Transceiver.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\TransceiverF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\UdpTransceiver.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ValueFactory.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\IcePack\ValueFactoryF.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ValueFactoryManager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IcePack\ValueFactoryManagerF.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\Communicator.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Communicator.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Communicator.ice \
+ move Communicator.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Communicator.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Communicator.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Communicator.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Communicator.ice \
+ move Communicator.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Communicator.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Communicator.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\CommunicatorF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\CommunicatorF.ice
+
+"..\..\include\IcePack\CommunicatorF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/CommunicatorF.ice
+ move CommunicatorF.h ..\..\include\IcePack
+ del CommunicatorF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\CommunicatorF.ice
+
+"..\..\include\IcePack\CommunicatorF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/CommunicatorF.ice
+ move CommunicatorF.h ..\..\include\IcePack
+ del CommunicatorF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\Logger.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Logger.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Logger.ice \
+ move Logger.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Logger.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Logger.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Logger.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Logger.ice \
+ move Logger.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Logger.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Logger.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\LoggerF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\LoggerF.ice
+
+"..\..\include\IcePack\LoggerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/LoggerF.ice
+ move LoggerF.h ..\..\include\IcePack
+ del LoggerF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\LoggerF.ice
+
+"..\..\include\IcePack\LoggerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/LoggerF.ice
+ move LoggerF.h ..\..\include\IcePack
+ del LoggerF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\ObjectAdapter.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ObjectAdapter.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ObjectAdapter.ice \
+ move ObjectAdapter.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\ObjectAdapter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"ObjectAdapter.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ObjectAdapter.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ObjectAdapter.ice \
+ move ObjectAdapter.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\ObjectAdapter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"ObjectAdapter.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\ObjectAdapterF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ObjectAdapterF.ice
+
+"..\..\include\IcePack\ObjectAdapterF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ObjectAdapterF.ice
+ move ObjectAdapterF.h ..\..\include\IcePack
+ del ObjectAdapterF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ObjectAdapterF.ice
+
+"..\..\include\IcePack\ObjectAdapterF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ObjectAdapterF.ice
+ move ObjectAdapterF.h ..\..\include\IcePack
+ del ObjectAdapterF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\Pickler.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Pickler.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Pickler.ice \
+ move Pickler.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Pickler.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Pickler.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Pickler.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Pickler.ice \
+ move Pickler.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Pickler.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Pickler.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\PicklerF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\PicklerF.ice
+
+"..\..\include\IcePack\PicklerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/PicklerF.ice
+ move PicklerF.h ..\..\include\IcePack
+ del PicklerF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\PicklerF.ice
+
+"..\..\include\IcePack\PicklerF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/PicklerF.ice
+ move PicklerF.h ..\..\include\IcePack
+ del PicklerF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\Properties.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Properties.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Properties.ice \
+ move Properties.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Properties.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Properties.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\Properties.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/Properties.ice \
+ move Properties.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\Properties.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Properties.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\PropertiesF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\PropertiesF.ice
+
+"..\..\include\IcePack\PropertiesF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/PropertiesF.ice
+ move PropertiesF.h ..\..\include\IcePack
+ del PropertiesF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\PropertiesF.ice
+
+"..\..\include\IcePack\PropertiesF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/PropertiesF.ice
+ move PropertiesF.h ..\..\include\IcePack
+ del PropertiesF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\ValueFactory.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ValueFactory.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ValueFactory.ice \
+ move ValueFactory.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\ValueFactory.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"ValueFactory.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ValueFactory.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\lib \
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ValueFactory.ice \
+ move ValueFactory.h ..\..\include\IcePack \
+
+
+"..\..\include\IcePack\ValueFactory.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"ValueFactory.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\slice\IcePack\ValueFactoryF.ice
+
+!IF "$(CFG)" == "IcePack - Win32 Release"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ValueFactoryF.ice
+
+"..\..\include\IcePack\ValueFactoryF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ValueFactoryF.ice
+ move ValueFactoryF.h ..\..\include\IcePack
+ del ValueFactoryF.cpp
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "IcePack - Win32 Debug"
+
+# Begin Custom Build
+InputPath=..\..\slice\IcePack\ValueFactoryF.ice
+
+"..\..\include\IcePack\ValueFactoryF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ set PATH=%PATH%;..\..\lib
+ ..\..\bin\slice2cpp.exe --dll-export ICE_API --include-dir IcePack -I../../slice ../../slice/IcePack/ValueFactoryF.ice
+ move ValueFactoryF.h ..\..\include\IcePack
+ del ValueFactoryF.cpp
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/Ice/exceptions/Collocated.cpp b/cpp/test/Ice/exceptions/Collocated.cpp
index ac8866e440d..c79ef8c989e 100644
--- a/cpp/test/Ice/exceptions/Collocated.cpp
+++ b/cpp/test/Ice/exceptions/Collocated.cpp
@@ -17,8 +17,7 @@ int
run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
{
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator ->
- createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new ThrowerI(adapter);
adapter->add(object, "thrower");
diff --git a/cpp/test/Ice/exceptions/Server.cpp b/cpp/test/Ice/exceptions/Server.cpp
index c4bd9f29870..8b17fadd310 100644
--- a/cpp/test/Ice/exceptions/Server.cpp
+++ b/cpp/test/Ice/exceptions/Server.cpp
@@ -38,7 +38,7 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
}
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator -> createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new ThrowerI(adapter);
adapter->add(object, "thrower");
adapter->activate();
diff --git a/cpp/test/Ice/faultTolerance/Server.cpp b/cpp/test/Ice/faultTolerance/Server.cpp
index 00fcdbea2e8..71eb516e31e 100644
--- a/cpp/test/Ice/faultTolerance/Server.cpp
+++ b/cpp/test/Ice/faultTolerance/Server.cpp
@@ -57,7 +57,7 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
ostringstream endpts;
endpts << "tcp -p " << port;
- Ice::ObjectAdapterPtr adapter = communicator -> createObjectAdapterWithEndpoints("testadapter", endpts.str());
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts.str());
Ice::ObjectPtr object = new TestI(adapter);
adapter->add(object, "test");
adapter->activate();
diff --git a/cpp/test/Ice/inheritance/Collocated.cpp b/cpp/test/Ice/inheritance/Collocated.cpp
index e0ef8cb6e98..ddac110a51b 100644
--- a/cpp/test/Ice/inheritance/Collocated.cpp
+++ b/cpp/test/Ice/inheritance/Collocated.cpp
@@ -17,8 +17,7 @@ int
run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
{
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator ->
- createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new InitialI(adapter);
adapter->add(object, "initial");
diff --git a/cpp/test/Ice/inheritance/Server.cpp b/cpp/test/Ice/inheritance/Server.cpp
index 14e985c66e3..af907c9e1e9 100644
--- a/cpp/test/Ice/inheritance/Server.cpp
+++ b/cpp/test/Ice/inheritance/Server.cpp
@@ -38,7 +38,7 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
}
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator -> createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new InitialI(adapter);
adapter->add(object, "initial");
adapter->activate();
diff --git a/cpp/test/Ice/locationForward/Server.cpp b/cpp/test/Ice/locationForward/Server.cpp
index c87e0c26150..9e2878bbbd0 100644
--- a/cpp/test/Ice/locationForward/Server.cpp
+++ b/cpp/test/Ice/locationForward/Server.cpp
@@ -69,7 +69,7 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
ostringstream endpts;
endpts << "tcp -p " << port;
- Ice::ObjectAdapterPtr adapter = communicator -> createObjectAdapterWithEndpoints("testadapter", endpts.str());
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts.str());
Ice::ObjectPtr object = new TestI(adapter, fwd);
adapter->add(object, "test");
adapter->activate();
diff --git a/cpp/test/Ice/operations/Client.cpp b/cpp/test/Ice/operations/Client.cpp
index 75572304ace..a7ea950191e 100644
--- a/cpp/test/Ice/operations/Client.cpp
+++ b/cpp/test/Ice/operations/Client.cpp
@@ -27,10 +27,6 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
myClass->opVoid();
test(false);
}
- catch(const Ice::CloseConnectionException&) // TODO: Should not be thrown
- { // if retry is implemented
- cout << "ok" << endl;
- }
catch(const Ice::ConnectFailedException&)
{
cout << "ok" << endl;
diff --git a/cpp/test/Ice/operations/Collocated.cpp b/cpp/test/Ice/operations/Collocated.cpp
index 4a34c33bdad..3e7dd53c72c 100644
--- a/cpp/test/Ice/operations/Collocated.cpp
+++ b/cpp/test/Ice/operations/Collocated.cpp
@@ -17,8 +17,7 @@ int
run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
{
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator ->
- createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new MyDerivedClassI(adapter);
adapter->add(object, "test");
diff --git a/cpp/test/Ice/operations/Server.cpp b/cpp/test/Ice/operations/Server.cpp
index 1d0c8526de3..634b675aa72 100644
--- a/cpp/test/Ice/operations/Server.cpp
+++ b/cpp/test/Ice/operations/Server.cpp
@@ -38,7 +38,7 @@ run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
}
string endpts("tcp -p 12345 -t 2000");
- Ice::ObjectAdapterPtr adapter = communicator -> createObjectAdapterWithEndpoints("testadapter", endpts);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
Ice::ObjectPtr object = new MyDerivedClassI(adapter);
adapter->add(object, "test");
adapter->activate();
diff --git a/cpp/test/IcePack/Makefile b/cpp/test/IcePack/Makefile
new file mode 100644
index 00000000000..9e724316ac2
--- /dev/null
+++ b/cpp/test/IcePack/Makefile
@@ -0,0 +1,22 @@
+# **********************************************************************
+#
+# Copyright (c) 2001
+# MutableRealms, Inc.
+# Huntsville, AL, USA
+#
+# All Rights Reserved
+#
+# **********************************************************************
+
+top_srcdir = ../..
+
+include $(top_srcdir)/config/Make.rules
+
+SUBDIRS = simple
+
+$(EVERYTHING)::
+ @for subdir in $(SUBDIRS); \
+ do \
+ echo "making $@ in $$subdir"; \
+ ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
+ done
diff --git a/cpp/test/IcePack/simple/.depend b/cpp/test/IcePack/simple/.depend
new file mode 100644
index 00000000000..26824bca9b3
--- /dev/null
+++ b/cpp/test/IcePack/simple/.depend
@@ -0,0 +1,8 @@
+Test.o: Test.cpp Test.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Shared.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/LocalObject.h ../../../include/Ice/LocalException.h
+Client.o: Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../include/TestCommon.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../include/TestCommon.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h TestI.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+Server.o: Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h TestI.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+TestI.o: TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h TestI.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+Collocated.o: Collocated.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h TestI.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
+AllTests.o: AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ValueFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ValueFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../include/TestCommon.h Test.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
diff --git a/cpp/test/IcePack/simple/AllTests.cpp b/cpp/test/IcePack/simple/AllTests.cpp
new file mode 100644
index 00000000000..9d36cf379af
--- /dev/null
+++ b/cpp/test/IcePack/simple/AllTests.cpp
@@ -0,0 +1,38 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <TestCommon.h>
+#include <Test.h>
+#include <sstream>
+
+using namespace std;
+
+TestPrx
+allTests(Ice::CommunicatorPtr communicator)
+{
+ cout << "testing stringToProxy... " << flush;
+ string ref("test:tcp -p 12346 -t 2000");
+ Ice::ObjectPrx base = communicator->stringToProxy(ref);
+ test(base);
+ cout << "ok" << endl;
+
+ cout << "testing checked cast... " << flush;
+ TestPrx obj = TestPrx::checkedCast(base);
+ test(obj);
+ test(obj == base);
+ cout << "ok" << endl;
+
+ cout << "pinging server... " << flush;
+ obj->_ping();
+ cout << "ok" << endl;
+
+ return obj;
+}
diff --git a/cpp/test/IcePack/simple/Client.cpp b/cpp/test/IcePack/simple/Client.cpp
new file mode 100644
index 00000000000..6a73321427d
--- /dev/null
+++ b/cpp/test/IcePack/simple/Client.cpp
@@ -0,0 +1,57 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <TestCommon.h>
+#include <Test.h>
+
+using namespace std;
+
+int
+run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
+{
+ TestPrx allTests(Ice::CommunicatorPtr);
+ TestPrx test = allTests(communicator);
+ test->shutdown();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ communicator = Ice::initialize(argc, argv);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if (communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/IcePack/simple/Collocated.cpp b/cpp/test/IcePack/simple/Collocated.cpp
new file mode 100644
index 00000000000..5df83c02733
--- /dev/null
+++ b/cpp/test/IcePack/simple/Collocated.cpp
@@ -0,0 +1,60 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <TestI.h>
+
+using namespace std;
+
+int
+run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
+{
+ string endpts("tcp -p 12345 -t 2000");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
+ Ice::ObjectPtr object = new TestI(adapter);
+ adapter->add(object, "test");
+
+ TestPrx allTests(Ice::CommunicatorPtr);
+ allTests(communicator);
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ communicator = Ice::initialize(argc, argv);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if (communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/IcePack/simple/Makefile b/cpp/test/IcePack/simple/Makefile
new file mode 100644
index 00000000000..672ebacc640
--- /dev/null
+++ b/cpp/test/IcePack/simple/Makefile
@@ -0,0 +1,59 @@
+# **********************************************************************
+#
+# Copyright (c) 2001
+# MutableRealms, Inc.
+# Huntsville, AL, USA
+#
+# All Rights Reserved
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = client
+SERVER = server
+COLLOCATED = collocated
+
+TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
+
+OBJS = Test.o \
+
+COBJS = Client.o \
+ AllTests.o
+
+SOBJS = TestI.o \
+ Server.o
+
+COLOBJS = TestI.o \
+ Collocated.o \
+ AllTests.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp) \
+ $(COLOBJS:.o=.cpp)
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. -I../../include $(CPPFLAGS)
+
+$(CLIENT): $(OBJS) $(COBJS)
+ rm -f $@
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) $(LIBS)
+
+$(SERVER): $(OBJS) $(SOBJS)
+ rm -f $@
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(LIBS)
+
+$(COLLOCATED): $(OBJS) $(COLOBJS)
+ rm -f $@
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(COLOBJS) $(LIBS)
+
+Test.h Test.cpp: Test.ice $(SLICE)
+ rm -f Test.h Test.cpp
+ $(SLICE) Test.ice
+
+clean::
+ rm -f Test.h Test.cpp
+
+include .depend
diff --git a/cpp/test/IcePack/simple/Server.cpp b/cpp/test/IcePack/simple/Server.cpp
new file mode 100644
index 00000000000..1099747e251
--- /dev/null
+++ b/cpp/test/IcePack/simple/Server.cpp
@@ -0,0 +1,84 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <TestI.h>
+
+using namespace std;
+
+void
+usage(const char* n)
+{
+ cerr << "Usage: " << n << " [--pid]\n";
+}
+
+int
+run(int argc, char* argv[], Ice::CommunicatorPtr communicator)
+{
+ bool pid = false;
+ for (int i = 1; i < argc; ++i)
+ {
+ if(strcmp(argv[i], "--pid") == 0)
+ {
+ pid = true;
+ }
+ else
+ {
+ cerr << argv[0] << ": unknown option `" << argv[i] << "'" << endl;
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+ }
+
+ string endpts("tcp -p 12345 -t 2000");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TestAdapter", endpts);
+ Ice::ObjectPtr object = new TestI(adapter);
+ adapter->add(object, "test");
+ adapter->activate();
+ if (pid)
+ {
+ cout << getpid() << endl;
+ }
+ communicator->waitForShutdown();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ communicator = Ice::initialize(argc, argv);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if (communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/IcePack/simple/TestI.cpp b/cpp/test/IcePack/simple/TestI.cpp
new file mode 100644
index 00000000000..5bfb9d922f8
--- /dev/null
+++ b/cpp/test/IcePack/simple/TestI.cpp
@@ -0,0 +1,23 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <TestI.h>
+
+TestI::TestI(const Ice::ObjectAdapterPtr& adapter) :
+ _adapter(adapter)
+{
+}
+
+void
+TestI::shutdown()
+{
+ _adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/test/IcePack/simple/TestI.h b/cpp/test/IcePack/simple/TestI.h
new file mode 100644
index 00000000000..1e3aa9b987e
--- /dev/null
+++ b/cpp/test/IcePack/simple/TestI.h
@@ -0,0 +1,29 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef TEST_I_H
+#define TEST_I_H
+
+#include <Test.h>
+
+class TestI : public Test
+{
+public:
+
+ TestI(const Ice::ObjectAdapterPtr&);
+
+ virtual void shutdown();
+
+private:
+
+ Ice::ObjectAdapterPtr _adapter;
+};
+
+#endif
diff --git a/cpp/test/IcePack/simple/run.py b/cpp/test/IcePack/simple/run.py
new file mode 100755
index 00000000000..b56cac18f2a
--- /dev/null
+++ b/cpp/test/IcePack/simple/run.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2001
+# MutableRealms, Inc.
+# Huntsville, AL, USA
+#
+# All Rights Reserved
+#
+# **********************************************************************
+
+import os, sys
+
+for toplevel in ["", "..", os.path.join("..", ".."), os.path.join("..", "..", "..")]:
+ if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ break
+else:
+ raise "can't find toplevel directory!"
+
+sys.path.append(os.path.join(toplevel, "config"))
+import TestUtil
+
+icePack = os.path.join(toplevel, "bin", "icepack")
+icePackAdmin = os.path.join(toplevel, "bin", "icepackadmin")
+
+print "starting icepack...",
+icePackPipe = os.popen(icePack + ' --nowarn --pid --forward "tcp -p 12346 -t 2000" --admin "tcp -p 12347 -t 2000"')
+output = icePackPipe.readline().strip()
+if not output:
+ print "failed!"
+ sys.exit(0)
+TestUtil.serverPids.append(int(output))
+print "ok"
+
+print "registering server with icepack...",
+icePackAdminPipe = os.popen(icePackAdmin + ' --admin "tcp -p 12347 -t 2000" add "test:tcp -p 12345 -t 2000"')
+icePackAdminPipe.close()
+print "ok"
+
+name = os.path.join("IcePack", "simple")
+TestUtil.clientServerTest(toplevel, name)
+TestUtil.collocatedTest(toplevel, name)
+
+print "shutting down icepack...",
+icePackAdminPipe = os.popen(icePackAdmin + ' --admin "tcp -p 12347 -t 2000" shutdown')
+icePackAdminPipe.close()
+print "ok"
+
+sys.exit(1)
diff --git a/cpp/test/IcePack/simple/simpleC.dsp b/cpp/test/IcePack/simple/simpleC.dsp
new file mode 100644
index 00000000000..950e55b56bd
--- /dev/null
+++ b/cpp/test/IcePack/simple/simpleC.dsp
@@ -0,0 +1,165 @@
+# Microsoft Developer Studio Project File - Name="operationsC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=operationsC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "operationsC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "operationsC.mak" CFG="operationsC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "operationsC - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "operationsC - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "operationsC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 jtc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"client.exe" /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "operationsC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 jtcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"client.exe" /pdbtype:sept /libpath:"../../../lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "operationsC - Win32 Release"
+# Name "operationsC - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AllTests.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exceptions.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Twoways.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "operationsC - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "operationsC - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/IcePack/simple/simpleCOL.dsp b/cpp/test/IcePack/simple/simpleCOL.dsp
new file mode 100644
index 00000000000..3b0ab174590
--- /dev/null
+++ b/cpp/test/IcePack/simple/simpleCOL.dsp
@@ -0,0 +1,165 @@
+# Microsoft Developer Studio Project File - Name="simpleCOL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=simpleCOL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "simpleCOL.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "simpleCOL.mak" CFG="simpleCOL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "simpleCOL - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "simpleCOL - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "simpleCOL - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 jtc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"collocated.exe" /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "simpleCOL - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 jtcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"collocated.exe" /pdbtype:sept /libpath:"../../../lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "simpleCOL - Win32 Release"
+# Name "simpleCOL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AllTests.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Collocated.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "simpleCOL - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "simpleCOL - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/IcePack/simple/simpleS.dsp b/cpp/test/IcePack/simple/simpleS.dsp
new file mode 100644
index 00000000000..e85693296ca
--- /dev/null
+++ b/cpp/test/IcePack/simple/simpleS.dsp
@@ -0,0 +1,161 @@
+# Microsoft Developer Studio Project File - Name="operationsS" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=operationsS - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "operationsS.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "operationsS.mak" CFG="operationsS - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "operationsS - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "operationsS - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "operationsS - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 jtc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"server.exe" /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "operationsS - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "." /I "../../../include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 jtcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"server.exe" /pdbtype:sept /libpath:"../../../lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "operationsS - Win32 Release"
+# Name "operationsS - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestI.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\Test.ice
+
+!IF "$(CFG)" == "operationsS - Win32 Release"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "operationsS - Win32 Debug"
+
+USERDEP__TEST_="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Test.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Test.ice \
+
+
+"Test.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Test.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/test/Makefile b/cpp/test/Makefile
index 0027b52197d..597e02c60bf 100644
--- a/cpp/test/Makefile
+++ b/cpp/test/Makefile
@@ -12,7 +12,8 @@ top_srcdir = ..
include $(top_srcdir)/config/Make.rules
-SUBDIRS = Ice
+SUBDIRS = Ice \
+ IcePack
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cpp/test/Slice/errorDetection/run.py b/cpp/test/Slice/errorDetection/run.py
index ac04ed0e0dd..895e5cf397a 100755
--- a/cpp/test/Slice/errorDetection/run.py
+++ b/cpp/test/Slice/errorDetection/run.py
@@ -17,7 +17,7 @@ for toplevel in ["", "..", os.path.join("..", ".."), os.path.join("..", "..", ".
else:
raise "can't find toplevel directory!"
-directory = os.path.join(toplevel, "test", "Slice", "parser")
+directory = os.path.join(toplevel, "test", "Slice", "errorDetection")
slice2cpp = os.path.join(toplevel, "bin", "slice2cpp")
regex1 = re.compile(r".ice$", re.IGNORECASE)