summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/demo/Ice/Makefile5
-rw-r--r--cpp/demo/Ice/callback/.depend4
-rw-r--r--cpp/demo/Ice/callback/Callback.ice24
-rw-r--r--cpp/demo/Ice/callback/CallbackI.cpp28
-rw-r--r--cpp/demo/Ice/callback/CallbackI.h30
-rw-r--r--cpp/demo/Ice/callback/Client.cpp154
-rw-r--r--cpp/demo/Ice/callback/Makefile48
-rw-r--r--cpp/demo/Ice/callback/Server.cpp40
-rw-r--r--cpp/demo/Ice/callback/callbackC.dsp165
-rw-r--r--cpp/demo/Ice/callback/callbackS.dsp165
-rw-r--r--cpp/demo/Ice/callback/config19
-rw-r--r--cpp/demo/Ice/callback/config.server8
-rw-r--r--cpp/demo/Ice/hello/Client.cpp2
-rw-r--r--cpp/demo/Ice/hello/config16
-rw-r--r--cpp/demo/Ice/latency/config2
-rw-r--r--cpp/demo/Ice/nested/config4
-rw-r--r--cpp/demo/Ice/value/config4
17 files changed, 704 insertions, 14 deletions
diff --git a/cpp/demo/Ice/Makefile b/cpp/demo/Ice/Makefile
index 8a8815a3756..76a9230e13c 100644
--- a/cpp/demo/Ice/Makefile
+++ b/cpp/demo/Ice/Makefile
@@ -13,9 +13,10 @@ top_srcdir = ../..
include $(top_srcdir)/config/Make.rules
SUBDIRS = hello \
+ latency \
value \
- nested \
- latency
+ callback \
+ nested
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cpp/demo/Ice/callback/.depend b/cpp/demo/Ice/callback/.depend
new file mode 100644
index 00000000000..0629f0924fa
--- /dev/null
+++ b/cpp/demo/Ice/callback/.depend
@@ -0,0 +1,4 @@
+Callback.o: Callback.cpp Callback.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalException.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h
+CallbackI.o: CallbackI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalException.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/Stream.h ../../../include/Ice/Communicator.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/StreamF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h CallbackI.h Callback.h
+Client.o: Client.cpp ../../../include/Ice/Application.h ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalException.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/Stream.h ../../../include/Ice/Communicator.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/StreamF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h CallbackI.h Callback.h
+Server.o: Server.cpp ../../../include/Ice/Application.h ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Exception.h ../../../include/IceUtil/Config.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalException.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/Stream.h ../../../include/Ice/Communicator.h ../../../include/Ice/Proxy.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/EndpointF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Current.h ../../../include/Ice/Identity.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h ../../../include/Ice/Direct.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/StreamF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/IdentityUtil.h CallbackI.h Callback.h
diff --git a/cpp/demo/Ice/callback/Callback.ice b/cpp/demo/Ice/callback/Callback.ice
new file mode 100644
index 00000000000..80b28600c40
--- /dev/null
+++ b/cpp/demo/Ice/callback/Callback.ice
@@ -0,0 +1,24 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef CALLBACK_ICE
+#define CALLBACK_ICE
+
+class CallbackReceiver
+{
+ void callback();
+};
+
+class Callback
+{
+ void initiateCallback(CallbackReceiver* proxy);
+};
+
+#endif
diff --git a/cpp/demo/Ice/callback/CallbackI.cpp b/cpp/demo/Ice/callback/CallbackI.cpp
new file mode 100644
index 00000000000..1de49ef9afe
--- /dev/null
+++ b/cpp/demo/Ice/callback/CallbackI.cpp
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <CallbackI.h>
+
+using namespace std;
+using namespace Ice;
+
+void
+CallbackReceiverI::callback(const Current&)
+{
+ cout << "received callback" << endl;
+}
+
+void
+CallbackI::initiateCallback(const CallbackReceiverPrx& proxy, const Current& current)
+{
+ cout << "initiating callback" << endl;
+ proxy->callback(current.context);
+}
diff --git a/cpp/demo/Ice/callback/CallbackI.h b/cpp/demo/Ice/callback/CallbackI.h
new file mode 100644
index 00000000000..8d928b9103e
--- /dev/null
+++ b/cpp/demo/Ice/callback/CallbackI.h
@@ -0,0 +1,30 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef CALLBACK_I_H
+#define CALLBACK_I_H
+
+#include <Callback.h>
+
+class CallbackReceiverI : public CallbackReceiver
+{
+public:
+
+ virtual void callback(const Ice::Current&);
+};
+
+class CallbackI : public Callback
+{
+public:
+
+ virtual void initiateCallback(const CallbackReceiverPrx&, const Ice::Current&);
+};
+
+#endif
diff --git a/cpp/demo/Ice/callback/Client.cpp b/cpp/demo/Ice/callback/Client.cpp
new file mode 100644
index 00000000000..a2b24678430
--- /dev/null
+++ b/cpp/demo/Ice/callback/Client.cpp
@@ -0,0 +1,154 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Application.h>
+#include <CallbackI.h>
+
+using namespace std;
+using namespace Ice;
+
+class CallbackClient : public Application
+{
+public:
+
+ virtual int run(int, char*[]);
+};
+
+int
+main(int argc, char* argv[])
+{
+ CallbackClient app;
+ return app.main(argc, argv, "config");
+}
+
+void
+menu()
+{
+ cout <<
+ "usage:\n"
+ "t: send callback as twoway\n"
+ "o: send callback as oneway\n"
+ "O: send callback as batch oneway\n"
+ "d: send callback as datagram\n"
+ "D: send callback as batch datagram\n"
+ "f: flush all batch requests\n"
+ "S: switch secure mode on/off\n"
+ "x: exit\n"
+ "?: help\n";
+}
+
+int
+CallbackClient::run(int argc, char* argv[])
+{
+ PropertiesPtr properties = communicator()->getProperties();
+ const char* refProperty = "Callback.Callback";
+ std::string ref = properties->getProperty(refProperty);
+ if (ref.empty())
+ {
+ cerr << argv[0] << ": property `" << refProperty << "' not set" << endl;
+ return EXIT_FAILURE;
+ }
+
+ ObjectPrx base = communicator()->stringToProxy(ref);
+ CallbackPrx twoway = CallbackPrx::checkedCast(base->ice_twoway()->ice_timeout(-1)->ice_secure(false));
+ if (!twoway)
+ {
+ cerr << argv[0] << ": invalid object reference" << endl;
+ return EXIT_FAILURE;
+ }
+ CallbackPrx oneway = CallbackPrx::uncheckedCast(twoway->ice_oneway());
+ CallbackPrx batchOneway = CallbackPrx::uncheckedCast(twoway->ice_batchOneway());
+ CallbackPrx datagram = CallbackPrx::uncheckedCast(twoway->ice_datagram());
+ CallbackPrx batchDatagram = CallbackPrx::uncheckedCast(twoway->ice_batchDatagram());
+
+ ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackReceiverAdapter");
+ CallbackReceiverPrx receiver = CallbackReceiverPrx::uncheckedCast(
+ adapter->createProxy(stringToIdentity("callbackReceiver")));
+ adapter->add(new CallbackReceiverI, stringToIdentity("callbackReceiver"));
+ adapter->activate();
+
+ bool secure = false;
+
+ menu();
+
+ char c;
+ do
+ {
+ try
+ {
+ cout << "==> ";
+ cin >> c;
+ if (c == 't')
+ {
+ twoway->initiateCallback(receiver);
+ }
+ else if (c == 'o')
+ {
+ oneway->initiateCallback(receiver);
+ }
+ else if (c == 'O')
+ {
+ batchOneway->initiateCallback(receiver);
+ }
+ else if (c == 'd')
+ {
+ datagram->initiateCallback(receiver);
+ }
+ else if (c == 'D')
+ {
+ batchDatagram->initiateCallback(receiver);
+ }
+ else if (c == 'f')
+ {
+ batchOneway->ice_flush();
+ batchDatagram->ice_flush();
+ }
+ else if (c == 'S')
+ {
+ secure = !secure;
+
+ twoway = CallbackPrx::uncheckedCast(twoway->ice_secure(secure));
+ oneway = CallbackPrx::uncheckedCast(oneway->ice_secure(secure));
+ batchOneway = CallbackPrx::uncheckedCast(batchOneway->ice_secure(secure));
+ datagram = CallbackPrx::uncheckedCast(datagram->ice_secure(secure));
+ batchDatagram = CallbackPrx::uncheckedCast(batchDatagram->ice_secure(secure));
+
+ if (secure)
+ {
+ cout << "secure mode is now on" << endl;
+ }
+ else
+ {
+ cout << "secure mode is now off" << endl;
+ }
+ }
+ else if (c == 'x')
+ {
+ // Nothing to do
+ }
+ else if (c == '?')
+ {
+ menu();
+ }
+ else
+ {
+ cout << "unknown command `" << c << "'" << endl;
+ menu();
+ }
+ }
+ catch(const Exception& ex)
+ {
+ cerr << ex << endl;
+ }
+ }
+ while (cin.good() && c != 'x');
+
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/Ice/callback/Makefile b/cpp/demo/Ice/callback/Makefile
new file mode 100644
index 00000000000..2429343ff6e
--- /dev/null
+++ b/cpp/demo/Ice/callback/Makefile
@@ -0,0 +1,48 @@
+# **********************************************************************
+#
+# Copyright (c) 2001
+# MutableRealms, Inc.
+# Huntsville, AL, USA
+#
+# All Rights Reserved
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = client
+SERVER = server
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Callback.o \
+ CallbackI.o
+
+COBJS = Client.o
+
+SOBJS = Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp)
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. $(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)
+
+Callback.h Callback.cpp: Callback.ice $(SLICE2CPP)
+ rm -f Callback.h Callback.cpp
+ $(SLICE2CPP) Callback.ice
+
+clean::
+ rm -f Callback.h Callback.cpp
+
+include .depend
diff --git a/cpp/demo/Ice/callback/Server.cpp b/cpp/demo/Ice/callback/Server.cpp
new file mode 100644
index 00000000000..6941d3b64c4
--- /dev/null
+++ b/cpp/demo/Ice/callback/Server.cpp
@@ -0,0 +1,40 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Application.h>
+#include <CallbackI.h>
+
+using namespace std;
+using namespace Ice;
+
+class CallbackServer : public Application
+{
+public:
+
+ virtual int run(int, char*[]);
+};
+
+int
+main(int argc, char* argv[])
+{
+ CallbackServer app;
+ return app.main(argc, argv, "config.server");
+}
+
+int
+CallbackServer::run(int argc, char* argv[])
+{
+ ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackAdapter");
+ CallbackPrx self = CallbackPrx::uncheckedCast(adapter->createProxy(Ice::stringToIdentity("callback")));
+ adapter->add(new CallbackI, Ice::stringToIdentity("callback"));
+ adapter->activate();
+ communicator()->waitForShutdown();
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/Ice/callback/callbackC.dsp b/cpp/demo/Ice/callback/callbackC.dsp
new file mode 100644
index 00000000000..2ce2044b10c
--- /dev/null
+++ b/cpp/demo/Ice/callback/callbackC.dsp
@@ -0,0 +1,165 @@
+# Microsoft Developer Studio Project File - Name="callbackC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=callbackC - 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 "callbackC.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 "callbackC.mak" CFG="callbackC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "callbackC - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "callbackC - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=xicl6.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "callbackC - 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 /WX /GR /GX /O2 /I "." /I "../../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.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 /nologo /subsystem:console /machine:I386 /nodefaultlib /out:"client.exe" /libpath:"../../../lib"
+# SUBTRACT LINK32 /debug
+
+!ELSEIF "$(CFG)" == "callbackC - 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 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /YX /FD /GZ /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.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 /nologo /subsystem:console /debug /machine:I386 /out:"client.exe" /pdbtype:sept /libpath:"../../../lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "callbackC - Win32 Release"
+# Name "callbackC - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Callback.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CallbackI.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Callback.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CallbackI.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=.\Callback.ice
+
+!IF "$(CFG)" == "callbackC - Win32 Release"
+
+USERDEP__NESTE="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Callback.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Callback.ice \
+
+
+"Callback.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Callback.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "callbackC - Win32 Debug"
+
+USERDEP__NESTE="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Callback.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Callback.ice \
+
+
+"Callback.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Callback.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/demo/Ice/callback/callbackS.dsp b/cpp/demo/Ice/callback/callbackS.dsp
new file mode 100644
index 00000000000..1275b9a5433
--- /dev/null
+++ b/cpp/demo/Ice/callback/callbackS.dsp
@@ -0,0 +1,165 @@
+# Microsoft Developer Studio Project File - Name="callbackS" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=callbackS - 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 "callbackS.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 "callbackS.mak" CFG="callbackS - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "callbackS - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "callbackS - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=xicl6.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "callbackS - 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 /WX /GR /GX /O2 /I "." /I "../../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.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 /nologo /subsystem:console /machine:I386 /nodefaultlib /out:"server.exe" /libpath:"../../../lib"
+# SUBTRACT LINK32 /debug
+
+!ELSEIF "$(CFG)" == "callbackS - 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 /WX /Gm /GR /GX /Zi /Od /I "." /I "../../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /YX /FD /GZ /c
+# SUBTRACT CPP /Fr
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.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 /nologo /subsystem:console /debug /machine:I386 /out:"server.exe" /pdbtype:sept /libpath:"../../../lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "callbackS - Win32 Release"
+# Name "callbackS - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Callback.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CallbackI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Server.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Callback.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CallbackI.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=.\Callback.ice
+
+!IF "$(CFG)" == "callbackS - Win32 Release"
+
+USERDEP__NESTE="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Callback.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Callback.ice \
+
+
+"Callback.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Callback.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "callbackS - Win32 Debug"
+
+USERDEP__NESTE="../../../bin/slice2cpp.exe"
+# Begin Custom Build
+InputPath=.\Callback.ice
+
+BuildCmds= \
+ set PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\slice2cpp.exe Callback.ice \
+
+
+"Callback.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"Callback.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/cpp/demo/Ice/callback/config b/cpp/demo/Ice/callback/config
new file mode 100644
index 00000000000..b21a9b61e14
--- /dev/null
+++ b/cpp/demo/Ice/callback/config
@@ -0,0 +1,19 @@
+Callback.Callback=callback:tcp -h 192.168.2.2 -p 10000:udp -h 192.168.2.2 -p 10000:ssl -h 192.168.2.2 -p 10001#:sudp -h 192.168.2.2 -p 10001
+Ice.Adapter.CallbackReceiverAdapter.Endpoints=tcp:udp:ssl#:sudp
+
+#Ice.Trace.Network=1
+#Ice.Trace.Protocol=1
+#Ice.ConnectionWarnings=1
+
+Ice.Security.Ssl.CertPath=../../../Certs
+Ice.Security.Ssl.Config=sslconfig.xml
+
+Glacier.Router.Endpoints=default -p 10005
+Glacier.Client.Endpoints=tcp:udp -c:ssl#:sudp -c
+Glacier.Server.Endpoints=tcp -h 192.168.2.2:udp -h 192.168.2.2:ssl -h 192.168.2.2#:sudp -h 192.168.2.2
+Glacier.Trace.Client=2
+Glacier.Trace.Server=2
+Glacier.Trace.RoutingTable=1
+Ice.DefaultRouter=router:default -p 10005
+Ice.Adapter.CallbackReceiverAdapter.Router=router:default -p 10005
+Ice.Adapter.CallbackReceiverAdapter.Endpoints=
diff --git a/cpp/demo/Ice/callback/config.server b/cpp/demo/Ice/callback/config.server
new file mode 100644
index 00000000000..dd79ed1668b
--- /dev/null
+++ b/cpp/demo/Ice/callback/config.server
@@ -0,0 +1,8 @@
+Ice.Adapter.CallbackAdapter.Endpoints=tcp -p 10000:udp -p 10000:ssl -p 10001 #:sudp -p 10001
+
+#Ice.Trace.Network=1
+#Ice.Trace.Protocol=1
+#Ice.ConnectionWarnings=1
+
+Ice.Security.Ssl.CertPath=../../../Certs
+Ice.Security.Ssl.Config=sslconfig.xml
diff --git a/cpp/demo/Ice/hello/Client.cpp b/cpp/demo/Ice/hello/Client.cpp
index 48234f2ae00..a0819f5dd46 100644
--- a/cpp/demo/Ice/hello/Client.cpp
+++ b/cpp/demo/Ice/hello/Client.cpp
@@ -44,7 +44,7 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
}
Ice::ObjectPrx base = communicator->stringToProxy(ref);
- HelloPrx twoway = HelloPrx::checkedCast(base);
+ HelloPrx twoway = HelloPrx::checkedCast(base->ice_twoway()->ice_timeout(-1)->ice_secure(false));
if (!twoway)
{
cerr << argv[0] << ": invalid object reference" << endl;
diff --git a/cpp/demo/Ice/hello/config b/cpp/demo/Ice/hello/config
index ec40fcdaa27..e411b719957 100644
--- a/cpp/demo/Ice/hello/config
+++ b/cpp/demo/Ice/hello/config
@@ -2,19 +2,19 @@
# The client reads this property to create the reference to the
# "hello" object in the server.
#
-Hello.Hello=hello:tcp -p 10000:udp -c -p 10000:ssl -p 10001 # :sudp -p 10002
+Hello.Hello=hello:tcp -p 10000:udp -p 10000:ssl -p 10001#:sudp -p 10001
#
# 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 -c -p 10000:ssl -p 10001 # :sudp -p 10002
+Ice.Adapter.HelloAdapter.Endpoints=tcp -p 10000:udp -p 10000:ssl -p 10001#:sudp -p 10001
#
# Warn about connection exceptions
#
-Ice.ConnectionWarnings=1
+#Ice.ConnectionWarnings=1
#
# Network Tracing
@@ -24,7 +24,7 @@ Ice.ConnectionWarnings=1
# 2 = like 1, but more detailed
# 3 = like 2, but also trace data transfer
#
-Ice.Trace.Network=3
+#Ice.Trace.Network=3
#
# Protocol Tracing
@@ -32,7 +32,7 @@ Ice.Trace.Network=3
# 0 = no protocol tracing
# 1 = trace protocol messages
#
-Ice.Trace.Protocol=1
+#Ice.Trace.Protocol=1
#
# Security Tracing
@@ -59,6 +59,8 @@ Ice.Security.Ssl.Config=sslconfig.xml
#
# If we use a router
#
-#Glacier.Router.Endpoints=tcp -p 10005
-#Glacier.Client.Endpoints=tcp -p 10010:udp -p 10010:ssl -p 10011
+#Glacier.Router.Endpoints=default -p 10005
+#Glacier.Client.Endpoints=tcp:udp:ssl#:sudp
+#Glacier.Trace.Client=2
+#Glacier.Trace.RoutingTable=1
#Ice.DefaultRouter=router:default -p 10005
diff --git a/cpp/demo/Ice/latency/config b/cpp/demo/Ice/latency/config
index a13e08c50e4..adbdbc26f57 100644
--- a/cpp/demo/Ice/latency/config
+++ b/cpp/demo/Ice/latency/config
@@ -5,5 +5,5 @@ Ice.Security.Ssl.CertPath=../../../certs
Ice.Security.Ssl.Config=./sslconfig.xml
#Glacier.Router.Endpoints=default -p 10005
-#Glacier.Client.Endpoints=default -p 10010
+#Glacier.Client.Endpoints=default
#Ice.DefaultRouter=router:default -p 10005
diff --git a/cpp/demo/Ice/nested/config b/cpp/demo/Ice/nested/config
index 3891929c142..c978201e132 100644
--- a/cpp/demo/Ice/nested/config
+++ b/cpp/demo/Ice/nested/config
@@ -10,8 +10,8 @@ Ice.Security.Ssl.CertPath=../../../Certs
Ice.Security.Ssl.Config=sslconfig.xml
Glacier.Router.Endpoints=default -p 10005
-Glacier.Client.Endpoints=default -p 10010
-Glacier.Server.Endpoints=default -h 192.168.2.2 -p 10011
+Glacier.Client.Endpoints=default
+Glacier.Server.Endpoints=default -h 192.168.2.2
Glacier.Trace.Client=2
Glacier.Trace.Server=2
Glacier.Trace.RoutingTable=1
diff --git a/cpp/demo/Ice/value/config b/cpp/demo/Ice/value/config
index 0af5a3eb17e..27b49c80bbf 100644
--- a/cpp/demo/Ice/value/config
+++ b/cpp/demo/Ice/value/config
@@ -5,5 +5,7 @@ Ice.Security.Ssl.CertPath=../../../certs
Ice.Security.Ssl.Config=sslconfig.xml
#Glacier.Router.Endpoints=default -p 10005
-#Glacier.Client.Endpoints=default -p 10010
+#Glacier.Client.Endpoints=default
+#Glacier.Trace.Client=2
+#Glacier.Trace.RoutingTable=1
#Ice.DefaultRouter=router:default -p 10005