summaryrefslogtreecommitdiff
path: root/cpp/demo/Ice
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/Ice')
-rw-r--r--cpp/demo/Ice/MFC/Makefile.mak2
-rw-r--r--cpp/demo/Ice/MFC/client/Hello.ice6
-rw-r--r--cpp/demo/Ice/MFC/client/HelloClient.cpp13
-rw-r--r--cpp/demo/Ice/MFC/client/HelloClient.h2
-rw-r--r--cpp/demo/Ice/MFC/client/HelloClient.rc62
-rw-r--r--cpp/demo/Ice/MFC/client/HelloClientDlg.cpp257
-rw-r--r--cpp/demo/Ice/MFC/client/HelloClientDlg.h13
-rw-r--r--cpp/demo/Ice/MFC/client/Makefile.mak2
-rw-r--r--cpp/demo/Ice/MFC/client/Resource.h7
-rw-r--r--cpp/demo/Ice/MFC/client/config6
-rw-r--r--cpp/demo/Ice/MFC/client/stdafx.cpp2
-rw-r--r--cpp/demo/Ice/MFC/client/stdafx.h3
-rw-r--r--cpp/demo/Ice/MFC/server/Hello.ice2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloI.cpp2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloI.h2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloServer.cpp2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloServer.h2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloServer.rc2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloServerDlg.cpp2
-rw-r--r--cpp/demo/Ice/MFC/server/HelloServerDlg.h2
-rw-r--r--cpp/demo/Ice/MFC/server/LogI.cpp2
-rw-r--r--cpp/demo/Ice/MFC/server/LogI.h2
-rw-r--r--cpp/demo/Ice/MFC/server/Makefile.mak2
-rw-r--r--cpp/demo/Ice/MFC/server/stdafx.cpp2
-rw-r--r--cpp/demo/Ice/MFC/server/stdafx.h3
-rw-r--r--cpp/demo/Ice/Makefile5
-rw-r--r--cpp/demo/Ice/Makefile.mak5
-rw-r--r--cpp/demo/Ice/async/Client.cpp2
-rw-r--r--cpp/demo/Ice/async/Hello.ice4
-rw-r--r--cpp/demo/Ice/async/HelloI.cpp2
-rw-r--r--cpp/demo/Ice/async/HelloI.h2
-rw-r--r--cpp/demo/Ice/async/Makefile2
-rw-r--r--cpp/demo/Ice/async/Makefile.mak2
-rw-r--r--cpp/demo/Ice/async/Server.cpp2
-rw-r--r--cpp/demo/Ice/async/WorkQueue.cpp2
-rw-r--r--cpp/demo/Ice/async/WorkQueue.h2
-rwxr-xr-xcpp/demo/Ice/async/expect.py2
-rw-r--r--cpp/demo/Ice/bidir/Callback.ice2
-rw-r--r--cpp/demo/Ice/bidir/CallbackI.cpp2
-rw-r--r--cpp/demo/Ice/bidir/CallbackI.h2
-rw-r--r--cpp/demo/Ice/bidir/Client.cpp2
-rw-r--r--cpp/demo/Ice/bidir/Makefile2
-rw-r--r--cpp/demo/Ice/bidir/Makefile.mak2
-rw-r--r--cpp/demo/Ice/bidir/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/bidir/expect.py2
-rw-r--r--cpp/demo/Ice/callback/Callback.ice2
-rw-r--r--cpp/demo/Ice/callback/CallbackSenderI.cpp2
-rw-r--r--cpp/demo/Ice/callback/CallbackSenderI.h2
-rw-r--r--cpp/demo/Ice/callback/Client.cpp2
-rw-r--r--cpp/demo/Ice/callback/Makefile2
-rw-r--r--cpp/demo/Ice/callback/Makefile.mak2
-rw-r--r--cpp/demo/Ice/callback/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/callback/expect.py2
-rw-r--r--cpp/demo/Ice/converter/Client.cpp2
-rw-r--r--cpp/demo/Ice/converter/Greet.ice2
-rw-r--r--cpp/demo/Ice/converter/GreetI.cpp2
-rw-r--r--cpp/demo/Ice/converter/GreetI.h2
-rw-r--r--cpp/demo/Ice/converter/Makefile2
-rw-r--r--cpp/demo/Ice/converter/Makefile.mak2
-rw-r--r--cpp/demo/Ice/converter/Server.cpp2
-rw-r--r--cpp/demo/Ice/converter/StringConverterI.cpp2
-rw-r--r--cpp/demo/Ice/converter/StringConverterI.h2
-rwxr-xr-xcpp/demo/Ice/converter/expect.py2
-rw-r--r--cpp/demo/Ice/hello/Client.cpp2
-rw-r--r--cpp/demo/Ice/hello/Hello.ice4
-rw-r--r--cpp/demo/Ice/hello/HelloI.cpp4
-rw-r--r--cpp/demo/Ice/hello/HelloI.h4
-rw-r--r--cpp/demo/Ice/hello/Makefile2
-rw-r--r--cpp/demo/Ice/hello/Makefile.mak2
-rw-r--r--cpp/demo/Ice/hello/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/hello/expect.py6
-rw-r--r--cpp/demo/Ice/invoke/Client.cpp2
-rw-r--r--cpp/demo/Ice/invoke/Makefile2
-rw-r--r--cpp/demo/Ice/invoke/Makefile.mak2
-rw-r--r--cpp/demo/Ice/invoke/Printer.ice2
-rw-r--r--cpp/demo/Ice/invoke/PrinterI.cpp2
-rw-r--r--cpp/demo/Ice/invoke/PrinterI.h2
-rw-r--r--cpp/demo/Ice/invoke/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/invoke/expect.py2
-rw-r--r--cpp/demo/Ice/latency/Client.cpp2
-rw-r--r--cpp/demo/Ice/latency/Latency.ice2
-rw-r--r--cpp/demo/Ice/latency/Makefile2
-rw-r--r--cpp/demo/Ice/latency/Makefile.mak2
-rw-r--r--cpp/demo/Ice/latency/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/latency/expect.py2
-rw-r--r--cpp/demo/Ice/minimal/Client.cpp2
-rw-r--r--cpp/demo/Ice/minimal/Hello.ice4
-rw-r--r--cpp/demo/Ice/minimal/HelloI.cpp4
-rw-r--r--cpp/demo/Ice/minimal/HelloI.h4
-rw-r--r--cpp/demo/Ice/minimal/Makefile2
-rw-r--r--cpp/demo/Ice/minimal/Makefile.mak2
-rw-r--r--cpp/demo/Ice/minimal/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/minimal/expect.py2
-rw-r--r--cpp/demo/Ice/multicast/Client.cpp2
-rw-r--r--cpp/demo/Ice/multicast/Discovery.ice2
-rw-r--r--cpp/demo/Ice/multicast/Hello.ice4
-rw-r--r--cpp/demo/Ice/multicast/Makefile2
-rw-r--r--cpp/demo/Ice/multicast/Makefile.mak2
-rw-r--r--cpp/demo/Ice/multicast/Server.cpp4
-rwxr-xr-xcpp/demo/Ice/multicast/expect.py2
-rw-r--r--cpp/demo/Ice/nested/Client.cpp2
-rw-r--r--cpp/demo/Ice/nested/Makefile2
-rw-r--r--cpp/demo/Ice/nested/Makefile.mak2
-rw-r--r--cpp/demo/Ice/nested/Nested.ice2
-rw-r--r--cpp/demo/Ice/nested/NestedI.cpp2
-rw-r--r--cpp/demo/Ice/nested/NestedI.h2
-rw-r--r--cpp/demo/Ice/nested/Server.cpp2
-rwxr-xr-xcpp/demo/Ice/nested/expect.py2
-rw-r--r--cpp/demo/Ice/nrvo/.depend5
-rw-r--r--cpp/demo/Ice/nrvo/.gitignore7
-rw-r--r--cpp/demo/Ice/nrvo/Client.cpp141
-rw-r--r--cpp/demo/Ice/nrvo/Makefile42
-rw-r--r--cpp/demo/Ice/nrvo/Makefile.mak50
-rw-r--r--cpp/demo/Ice/nrvo/MyStringSeq.h32
-rw-r--r--cpp/demo/Ice/nrvo/Nrvo.ice30
-rw-r--r--cpp/demo/Ice/nrvo/NrvoI.cpp54
-rw-r--r--cpp/demo/Ice/nrvo/NrvoI.h31
-rw-r--r--cpp/demo/Ice/nrvo/README49
-rw-r--r--cpp/demo/Ice/nrvo/Server.cpp44
-rw-r--r--cpp/demo/Ice/nrvo/config.client20
-rw-r--r--cpp/demo/Ice/nrvo/config.server20
-rw-r--r--cpp/demo/Ice/nrvo/expect.py30
-rw-r--r--cpp/demo/Ice/session/Client.cpp2
-rw-r--r--cpp/demo/Ice/session/Makefile2
-rw-r--r--cpp/demo/Ice/session/Makefile.mak2
-rw-r--r--cpp/demo/Ice/session/ReapThread.cpp2
-rw-r--r--cpp/demo/Ice/session/ReapThread.h2
-rw-r--r--cpp/demo/Ice/session/Server.cpp2
-rw-r--r--cpp/demo/Ice/session/Session.ice2
-rw-r--r--cpp/demo/Ice/session/SessionFactoryI.cpp2
-rw-r--r--cpp/demo/Ice/session/SessionFactoryI.h2
-rw-r--r--cpp/demo/Ice/session/SessionI.cpp2
-rw-r--r--cpp/demo/Ice/session/SessionI.h2
-rwxr-xr-xcpp/demo/Ice/session/expect.py2
-rw-r--r--cpp/demo/Ice/throughput/Client.cpp2
-rw-r--r--cpp/demo/Ice/throughput/Makefile2
-rw-r--r--cpp/demo/Ice/throughput/Makefile.mak2
-rw-r--r--cpp/demo/Ice/throughput/Server.cpp2
-rw-r--r--cpp/demo/Ice/throughput/Throughput.ice2
-rw-r--r--cpp/demo/Ice/throughput/ThroughputI.cpp2
-rw-r--r--cpp/demo/Ice/throughput/ThroughputI.h2
-rwxr-xr-xcpp/demo/Ice/throughput/expect.py2
-rw-r--r--cpp/demo/Ice/value/Client.cpp2
-rw-r--r--cpp/demo/Ice/value/Makefile2
-rw-r--r--cpp/demo/Ice/value/Makefile.mak2
-rw-r--r--cpp/demo/Ice/value/ObjectFactory.cpp2
-rw-r--r--cpp/demo/Ice/value/ObjectFactory.h2
-rw-r--r--cpp/demo/Ice/value/Server.cpp2
-rw-r--r--cpp/demo/Ice/value/Value.ice4
-rw-r--r--cpp/demo/Ice/value/ValueI.cpp2
-rw-r--r--cpp/demo/Ice/value/ValueI.h2
-rwxr-xr-xcpp/demo/Ice/value/expect.py2
152 files changed, 982 insertions, 231 deletions
diff --git a/cpp/demo/Ice/MFC/Makefile.mak b/cpp/demo/Ice/MFC/Makefile.mak
index 27ee90aab10..8bce3067cb0 100644
--- a/cpp/demo/Ice/MFC/Makefile.mak
+++ b/cpp/demo/Ice/MFC/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/client/Hello.ice b/cpp/demo/Ice/MFC/client/Hello.ice
index 11b714f01c8..6d5ed8419aa 100644
--- a/cpp/demo/Ice/MFC/client/Hello.ice
+++ b/cpp/demo/Ice/MFC/client/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -15,8 +15,8 @@ module Demo
interface Hello
{
- ["cpp:const"] idempotent void sayHello(int delay);
- void shutdown();
+ ["ami", "cpp:const"] idempotent void sayHello(int delay);
+ ["ami"] void shutdown();
};
};
diff --git a/cpp/demo/Ice/MFC/client/HelloClient.cpp b/cpp/demo/Ice/MFC/client/HelloClient.cpp
index 58deb943950..7c48b6a0e2d 100644
--- a/cpp/demo/Ice/MFC/client/HelloClient.cpp
+++ b/cpp/demo/Ice/MFC/client/HelloClient.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -66,17 +66,6 @@ CHelloClientApp::InitInstance()
m_pMainWnd = &dlg;
dlg.DoModal();
- //
- // Clean up.
- //
- try
- {
- communicator->destroy();
- }
- catch(const IceUtil::Exception&)
- {
- }
-
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
diff --git a/cpp/demo/Ice/MFC/client/HelloClient.h b/cpp/demo/Ice/MFC/client/HelloClient.h
index 055e0cd76ba..74932e557f5 100644
--- a/cpp/demo/Ice/MFC/client/HelloClient.h
+++ b/cpp/demo/Ice/MFC/client/HelloClient.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/client/HelloClient.rc b/cpp/demo/Ice/MFC/client/HelloClient.rc
index 5e1ddc6f299..2d67c1ee92f 100644
--- a/cpp/demo/Ice/MFC/client/HelloClient.rc
+++ b/cpp/demo/Ice/MFC/client/HelloClient.rc
@@ -1,4 +1,4 @@
-//Microsoft Developer Studio generated resource script.
+// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
@@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
-1 TEXTINCLUDE MOVEABLE PURE
+1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
-2 TEXTINCLUDE MOVEABLE PURE
+2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
-3 TEXTINCLUDE MOVEABLE PURE
+3 TEXTINCLUDE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
@@ -64,7 +64,7 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDR_MAINFRAME ICON DISCARDABLE "res\\HelloClient.ico"
+IDR_MAINFRAME ICON "res\\HelloClient.ico"
/////////////////////////////////////////////////////////////////////////////
//
@@ -72,29 +72,25 @@ IDR_MAINFRAME ICON DISCARDABLE "res\\HelloClient.ico"
//
IDD_HELLOCLIENT_DIALOG DIALOGEX 0, 0, 234, 97
-STYLE DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
- WS_SYSMENU
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Ice Hello Client"
-FONT 8, "MS Shell Dlg"
+FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
- LTEXT "Mode",IDC_MODELABEL,7,18,19,8
- COMBOBOX IDC_MODE,28,16,109,70,CBS_DROPDOWNLIST | WS_TABSTOP
- CONTROL "Secure",IDC_SECURE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,155,14,38,10
- CONTROL "Timeout",IDC_TIMEOUT,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,155,26,41,10
- DEFPUSHBUTTON "Say Hello",IDC_INVOKE,7,56,68,14
- PUSHBUTTON "Flush Batch",IDC_FLUSH,83,56,68,14
- PUSHBUTTON "Shutdown Server",IDC_SHUTDOWN,159,56,68,14
- LTEXT "",IDC_STATUSBAR,0,84,234,12,SS_CENTERIMAGE |
- SS_ENDELLIPSIS,WS_EX_STATICEDGE
- CONTROL "Delay",IDC_DELAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
- 155,38,34,10
+ LTEXT "Mode",IDC_MODELABEL,7,35,19,8
+ COMBOBOX IDC_MODE,41,33,109,70,CBS_DROPDOWNLIST | WS_TABSTOP
+ CONTROL "Secure",IDC_SECURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,165,15,38,10
+ CONTROL "Timeout",IDC_TIMEOUT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,165,27,41,10
+ DEFPUSHBUTTON "Say Hello",IDC_INVOKE,7,57,68,14
+ PUSHBUTTON "Flush Batch",IDC_FLUSH,83,57,68,14
+ PUSHBUTTON "Shutdown Server",IDC_SHUTDOWN,159,57,68,14
+ LTEXT "",IDC_STATUSBAR,7,81,220,12,SS_CENTERIMAGE | SS_ENDELLIPSIS,WS_EX_STATICEDGE
+ CONTROL "Delay",IDC_DELAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,165,39,34,10
+ EDITTEXT IDC_HOST,41,16,109,14,ES_AUTOHSCROLL
+ LTEXT "Hostname",IDC_HOSTLABEL,7,17,31,8
END
-#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
@@ -117,14 +113,14 @@ BEGIN
BEGIN
BLOCK "040904e4"
BEGIN
- VALUE "CompanyName", "ZeroC, Inc.\0"
- VALUE "FileDescription", "Ice Hello Client\0"
- VALUE "FileVersion", "1.0.0.1\0"
- VALUE "InternalName", "HelloClient.exe\0"
- VALUE "LegalCopyright", "Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\0"
- VALUE "OriginalFilename", "HelloClient.exe\0"
- VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "1.0.0.1\0"
+ VALUE "CompanyName", "ZeroC, Inc."
+ VALUE "FileDescription", "Ice Hello Client"
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "HelloClient.exe"
+ VALUE "LegalCopyright", "Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved."
+ VALUE "OriginalFilename", "HelloClient.exe"
+ VALUE "ProductName", "Ice"
+ VALUE "ProductVersion", "1.0.0.1"
END
END
BLOCK "VarFileInfo"
@@ -133,8 +129,6 @@ BEGIN
END
END
-#endif // !_MAC
-
/////////////////////////////////////////////////////////////////////////////
//
@@ -142,14 +136,14 @@ END
//
#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO MOVEABLE PURE
+GUIDELINES DESIGNINFO
BEGIN
IDD_HELLOCLIENT_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 227
TOPMARGIN, 7
- BOTTOMMARGIN, 90
+ BOTTOMMARGIN, 93
END
END
#endif // APSTUDIO_INVOKED
diff --git a/cpp/demo/Ice/MFC/client/HelloClientDlg.cpp b/cpp/demo/Ice/MFC/client/HelloClientDlg.cpp
index 8677ccc2393..a202ff023c5 100644
--- a/cpp/demo/Ice/MFC/client/HelloClientDlg.cpp
+++ b/cpp/demo/Ice/MFC/client/HelloClientDlg.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -15,9 +15,101 @@
#define new DEBUG_NEW
#endif
+#define WM_AMI_EXCEPTION (WM_USER + 1)
+#define WM_AMI_SAY_HELLO_RESPONSE (WM_USER + 2)
+#define WM_AMI_SAY_HELLO_SENT (WM_USER + 3)
+#define WM_AMI_FLUSH_BATCH_REQUESTS_SENT (WM_USER + 4)
+#define WM_AMI_SHUTDOWN_SENT (WM_USER + 5)
+
using namespace std;
using namespace Demo;
+class SayHelloCB : public AMI_Hello_sayHello, public Ice::AMISentCallback
+{
+public:
+
+ SayHelloCB(CHelloClientDlg* dialog) : _dialog(dialog)
+ {
+ }
+
+ virtual void
+ ice_sent()
+ {
+ _dialog->PostMessage(WM_AMI_SAY_HELLO_SENT, 0, 0);
+ }
+
+ virtual void
+ ice_response()
+ {
+ _dialog->PostMessage(WM_AMI_SAY_HELLO_RESPONSE, 0, 0);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ _dialog->PostMessage(WM_AMI_EXCEPTION, 0, reinterpret_cast<LONG>(ex.ice_clone()));
+ }
+
+private:
+
+ CHelloClientDlg* _dialog;
+};
+
+class FlushBatchRequestsCB : public Ice::AMI_Object_ice_flushBatchRequests, public Ice::AMISentCallback
+{
+public:
+
+ FlushBatchRequestsCB(CHelloClientDlg* dialog) : _dialog(dialog)
+ {
+ }
+
+ virtual void
+ ice_sent()
+ {
+ _dialog->PostMessage(WM_AMI_FLUSH_BATCH_REQUESTS_SENT, 0, 0);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ _dialog->PostMessage(WM_AMI_EXCEPTION, 0, reinterpret_cast<LONG>(ex.ice_clone()));
+ }
+
+private:
+
+ CHelloClientDlg* _dialog;
+};
+
+class ShutdownCB : public AMI_Hello_shutdown, public Ice::AMISentCallback
+{
+public:
+
+ ShutdownCB(CHelloClientDlg* dialog) : _dialog(dialog)
+ {
+ }
+
+ virtual void
+ ice_sent()
+ {
+ _dialog->PostMessage(WM_AMI_SHUTDOWN_SENT, 0, 0);
+ }
+
+ virtual void
+ ice_response()
+ {
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ _dialog->PostMessage(WM_AMI_EXCEPTION, 0, reinterpret_cast<LONG>(ex.ice_clone()));
+ }
+
+private:
+
+ CHelloClientDlg* _dialog;
+};
+
CHelloClientDlg::CHelloClientDlg(const Ice::CommunicatorPtr& communicator, CWnd* pParent /*=NULL*/) :
CDialog(CHelloClientDlg::IDD, pParent), _communicator(communicator), _currentMode(0),
_useSecure(false), _useTimeout(false)
@@ -38,6 +130,11 @@ BEGIN_MESSAGE_MAP(CHelloClientDlg, CDialog)
ON_BN_CLICKED(IDC_INVOKE, OnSayHello)
ON_BN_CLICKED(IDC_FLUSH, OnFlush)
ON_BN_CLICKED(IDC_SHUTDOWN, OnShutdown)
+ ON_MESSAGE(WM_AMI_EXCEPTION, OnAMIException)
+ ON_MESSAGE(WM_AMI_SAY_HELLO_RESPONSE, OnAMISayHelloResponse)
+ ON_MESSAGE(WM_AMI_SAY_HELLO_SENT, OnAMISayHelloSent)
+ ON_MESSAGE(WM_AMI_FLUSH_BATCH_REQUESTS_SENT, OnAMIFlushBatchRequestsSent)
+ ON_MESSAGE(WM_AMI_SHUTDOWN_SENT, OnAMIShutdownSent)
END_MESSAGE_MAP()
BOOL
@@ -53,6 +150,7 @@ CHelloClientDlg::OnInitDialog()
//
// Retrieve the controls.
//
+ _host = (CEdit*)GetDlgItem(IDC_HOST);
_mode = (CComboBox*)GetDlgItem(IDC_MODE);
_secure = (CButton*)GetDlgItem(IDC_SECURE);
_timeout = (CButton*)GetDlgItem(IDC_TIMEOUT);
@@ -67,14 +165,29 @@ CHelloClientDlg::OnInitDialog()
//
// Create the proxy.
//
- Ice::ObjectPrx obj = _communicator->propertyToProxy("Hello.Proxy");
- _proxy = HelloPrx::uncheckedCast(obj);
- _currentProxy = _proxy;
+ updateProxy();
+ _host->SetWindowText(CString(_hostname.c_str()));
_status->SetWindowText(CString(" Ready"));
return TRUE; // return TRUE unless you set the focus to a control
}
+void
+CHelloClientDlg::OnClose()
+{
+ //
+ // Destroy the communicator. If AMI calls are still in progress they will be
+ // interrupted with an Ice::CommunicatorDestroyedException.
+ //
+ try
+ {
+ _communicator->destroy();
+ }
+ catch(const IceUtil::Exception&)
+ {
+ }
+}
+
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
@@ -119,14 +232,24 @@ CHelloClientDlg::OnSayHello()
try
{
updateProxy();
- _currentProxy->sayHello(_delay->GetCheck() == BST_CHECKED ? 2500 : 0);
- if(_currentProxy->ice_isBatchOneway() || _currentProxy->ice_isBatchDatagram())
+ if(!_currentProxy->ice_isBatchOneway() && !_currentProxy->ice_isBatchDatagram())
{
- _status->SetWindowText(CString(" Queued batch request"));
+ if(_currentProxy->sayHello_async(new SayHelloCB(this), _delay->GetCheck() == BST_CHECKED ? 2500 : 0))
+ {
+ if(_currentProxy->ice_isTwoway())
+ {
+ _status->SetWindowText(CString(" Waiting for response"));
+ }
+ }
+ else
+ {
+ _status->SetWindowText(CString(" Sending request"));
+ }
}
else
{
- _status->SetWindowText(CString(" Sent request"));
+ _currentProxy->sayHello(_delay->GetCheck() == BST_CHECKED ? 2500 : 0);
+ _status->SetWindowText(CString(" Queued batch request"));
}
}
catch(const IceUtil::Exception& ex)
@@ -140,8 +263,15 @@ CHelloClientDlg::OnFlush()
{
try
{
- _communicator->flushBatchRequests();
- _status->SetWindowText(CString(" Flushed batch requests"));
+ updateProxy();
+ if(_currentProxy->ice_flushBatchRequests_async(new FlushBatchRequestsCB(this)))
+ {
+ _status->SetWindowText(CString(" Flushed batch requests"));
+ }
+ else
+ {
+ _status->SetWindowText(CString(" Flushing batch requests"));
+ }
}
catch(const IceUtil::Exception& ex)
{
@@ -155,14 +285,21 @@ CHelloClientDlg::OnShutdown()
try
{
updateProxy();
- _currentProxy->shutdown();
- if(_currentProxy->ice_isBatchOneway() || _currentProxy->ice_isBatchDatagram())
+ if(!_currentProxy->ice_isBatchOneway() && !_currentProxy->ice_isBatchDatagram())
{
- _status->SetWindowText(CString(" Queued shutdown request"));
+ if(_currentProxy->shutdown_async(new ShutdownCB(this)))
+ {
+ _status->SetWindowText(CString(" Sent shutdown request"));
+ }
+ else
+ {
+ _status->SetWindowText(CString(" Sending shutdown request"));
+ }
}
else
{
- _status->SetWindowText(CString(" Sent shutdown request"));
+ _currentProxy->shutdown();
+ _status->SetWindowText(CString(" Queued shutdown request"));
}
}
catch(const IceUtil::Exception& ex)
@@ -171,6 +308,53 @@ CHelloClientDlg::OnShutdown()
}
}
+LRESULT
+CHelloClientDlg::OnAMIException(WPARAM, LPARAM lParam)
+{
+ Ice::Exception* ex = reinterpret_cast<Ice::Exception*>(lParam);
+ if(!dynamic_cast<Ice::CommunicatorDestroyedException*>(ex))
+ {
+ handleException(*ex);
+ }
+ delete ex;
+ return 0;
+}
+
+LRESULT
+CHelloClientDlg::OnAMISayHelloSent(WPARAM, LPARAM)
+{
+ if(_currentProxy->ice_isTwoway())
+ {
+ _status->SetWindowText(CString(" Waiting for response"));
+ }
+ else
+ {
+ _status->SetWindowText(CString(" Ready"));
+ }
+ return 0;
+}
+
+LRESULT
+CHelloClientDlg::OnAMISayHelloResponse(WPARAM, LPARAM)
+{
+ _status->SetWindowText(CString(" Ready"));
+ return 0;
+}
+
+LRESULT
+CHelloClientDlg::OnAMIFlushBatchRequestsSent(WPARAM, LPARAM)
+{
+ _status->SetWindowText(CString(" Flushed batch requests"));
+ return 0;
+}
+
+LRESULT
+CHelloClientDlg::OnAMIShutdownSent(WPARAM, LPARAM)
+{
+ _status->SetWindowText(CString(" Sent shutdown request"));
+ return 0;
+}
+
void
CHelloClientDlg::updateProxy()
{
@@ -178,12 +362,41 @@ CHelloClientDlg::updateProxy()
bool secure = _secure->GetCheck() == BST_CHECKED;
bool timeout = _timeout->GetCheck() == BST_CHECKED;
- if(mode == _currentMode && secure == _useSecure && timeout == _useTimeout)
+ CString h;
+ _host->GetWindowText(h);
+ string hostname = (LPCTSTR)h;
+
+ if(_currentProxy &&
+ hostname == _hostname &&
+ mode == _currentMode &&
+ secure == _useSecure &&
+ timeout == _useTimeout)
{
return;
}
- Ice::ObjectPrx proxy;
+ if(!_proxy)
+ {
+ _proxy = HelloPrx::uncheckedCast(_communicator->stringToProxy("hello:tcp -p 10000:udp -p 10000:ssl -p 10001"));
+ _hostname = "localhost";
+ }
+ else if(hostname != _hostname)
+ {
+ try
+ {
+ _proxy = HelloPrx::uncheckedCast(_communicator->stringToProxy(string("hello") +
+ ":tcp -p 10000 -h " + hostname +
+ ":udp -p 10000 -h " + hostname +
+ ":ssl -p 10001 -h " + hostname));
+ _hostname = hostname;
+ }
+ catch(const Ice::EndpointParseException&)
+ {
+ AfxMessageBox(CString("The provided hostname is invalid."), MB_OK|MB_ICONEXCLAMATION);
+ }
+ }
+
+ Ice::ObjectPrx proxy = _proxy;
switch(mode)
{
case 0:
@@ -214,14 +427,7 @@ CHelloClientDlg::updateProxy()
proxy = proxy->ice_timeout(-1);
}
- if(proxy->ice_isTwoway())
- {
- _currentProxy = HelloPrx::checkedCast(proxy);
- }
- else
- {
- _currentProxy = HelloPrx::uncheckedCast(proxy);
- }
+ _currentProxy = HelloPrx::uncheckedCast(proxy);
_currentMode = mode;
_useSecure = secure;
_useTimeout = timeout;
@@ -236,8 +442,7 @@ CHelloClientDlg::handleException(const IceUtil::Exception& e)
}
catch(const Ice::NoEndpointException&)
{
- AfxMessageBox(CString("The proxy does not support the current configuration"),
- MB_OK|MB_ICONEXCLAMATION);
+ AfxMessageBox(CString("The proxy does not support the current configuration"), MB_OK|MB_ICONEXCLAMATION);
}
catch(const IceUtil::Exception& ex)
{
diff --git a/cpp/demo/Ice/MFC/client/HelloClientDlg.h b/cpp/demo/Ice/MFC/client/HelloClientDlg.h
index 4935e1b72da..a93ae1e934f 100644
--- a/cpp/demo/Ice/MFC/client/HelloClientDlg.h
+++ b/cpp/demo/Ice/MFC/client/HelloClientDlg.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -18,15 +18,19 @@
class CHelloClientDlg : public CDialog
{
public:
+
CHelloClientDlg(const Ice::CommunicatorPtr&, CWnd* = NULL);
enum { IDD = IDD_HELLOCLIENT_DIALOG };
protected:
+
virtual void DoDataExchange(CDataExchange*); // DDX/DDV support
protected:
+
Ice::CommunicatorPtr _communicator;
+ CEdit* _host;
CComboBox* _mode;
CButton* _secure;
CButton* _timeout;
@@ -35,17 +39,24 @@ protected:
Demo::HelloPrx _proxy;
Demo::HelloPrx _currentProxy;
int _currentMode;
+ std::string _hostname;
bool _useSecure;
bool _useTimeout;
HICON _hIcon;
// Generated message map functions
virtual BOOL OnInitDialog();
+ afx_msg void OnClose();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnSayHello();
afx_msg void OnFlush();
afx_msg void OnShutdown();
+ afx_msg LRESULT OnAMIException(WPARAM, LPARAM);
+ afx_msg LRESULT OnAMISayHelloResponse(WPARAM, LPARAM);
+ afx_msg LRESULT OnAMISayHelloSent(WPARAM, LPARAM);
+ afx_msg LRESULT OnAMIFlushBatchRequestsSent(WPARAM, LPARAM);
+ afx_msg LRESULT OnAMIShutdownSent(WPARAM, LPARAM);
DECLARE_MESSAGE_MAP()
void updateProxy();
diff --git a/cpp/demo/Ice/MFC/client/Makefile.mak b/cpp/demo/Ice/MFC/client/Makefile.mak
index d07a89e6154..4305f2a94db 100644
--- a/cpp/demo/Ice/MFC/client/Makefile.mak
+++ b/cpp/demo/Ice/MFC/client/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/client/Resource.h b/cpp/demo/Ice/MFC/client/Resource.h
index a4ac959eb20..0e779e87501 100644
--- a/cpp/demo/Ice/MFC/client/Resource.h
+++ b/cpp/demo/Ice/MFC/client/Resource.h
@@ -1,5 +1,5 @@
//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
+// Microsoft Visual C++ generated include file.
// Used by HelloClient.rc
//
#define IDD_HELLOCLIENT_DIALOG 101
@@ -13,6 +13,9 @@
#define IDC_SHUTDOWN 1006
#define IDC_STATUSBAR 1007
#define IDC_DELAY 1008
+#define IDC_HOST 1009
+#define IDC_HOSTNAME 1010
+#define IDC_HOSTLABEL 1010
// Next default values for new objects
//
@@ -20,7 +23,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 130
#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1008
+#define _APS_NEXT_CONTROL_VALUE 1010
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/cpp/demo/Ice/MFC/client/config b/cpp/demo/Ice/MFC/client/config
index 0aceb3fc121..80829f230be 100644
--- a/cpp/demo/Ice/MFC/client/config
+++ b/cpp/demo/Ice/MFC/client/config
@@ -1,10 +1,4 @@
#
-# The client reads this property to create the reference to the
-# "hello" object in the server.
-#
-Hello.Proxy=hello:tcp -p 10000:udp -p 10000:ssl -p 10001
-
-#
# Warn about connection exceptions
#
Ice.Warn.Connections=1
diff --git a/cpp/demo/Ice/MFC/client/stdafx.cpp b/cpp/demo/Ice/MFC/client/stdafx.cpp
index 863851ada65..523f974149b 100644
--- a/cpp/demo/Ice/MFC/client/stdafx.cpp
+++ b/cpp/demo/Ice/MFC/client/stdafx.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/client/stdafx.h b/cpp/demo/Ice/MFC/client/stdafx.h
index 083197283d9..0937f57d519 100644
--- a/cpp/demo/Ice/MFC/client/stdafx.h
+++ b/cpp/demo/Ice/MFC/client/stdafx.h
@@ -1,13 +1,12 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
-
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
diff --git a/cpp/demo/Ice/MFC/server/Hello.ice b/cpp/demo/Ice/MFC/server/Hello.ice
index 11b714f01c8..50120520456 100644
--- a/cpp/demo/Ice/MFC/server/Hello.ice
+++ b/cpp/demo/Ice/MFC/server/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloI.cpp b/cpp/demo/Ice/MFC/server/HelloI.cpp
index 05b87d31573..54c83b9ff4e 100644
--- a/cpp/demo/Ice/MFC/server/HelloI.cpp
+++ b/cpp/demo/Ice/MFC/server/HelloI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloI.h b/cpp/demo/Ice/MFC/server/HelloI.h
index 6ea7ce0c001..8af2b47c74b 100644
--- a/cpp/demo/Ice/MFC/server/HelloI.h
+++ b/cpp/demo/Ice/MFC/server/HelloI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloServer.cpp b/cpp/demo/Ice/MFC/server/HelloServer.cpp
index 87901775b59..e04fb88f886 100644
--- a/cpp/demo/Ice/MFC/server/HelloServer.cpp
+++ b/cpp/demo/Ice/MFC/server/HelloServer.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloServer.h b/cpp/demo/Ice/MFC/server/HelloServer.h
index 1fd55e99cf9..3c0e93426f9 100644
--- a/cpp/demo/Ice/MFC/server/HelloServer.h
+++ b/cpp/demo/Ice/MFC/server/HelloServer.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloServer.rc b/cpp/demo/Ice/MFC/server/HelloServer.rc
index 6de8695538c..04c4630129d 100644
--- a/cpp/demo/Ice/MFC/server/HelloServer.rc
+++ b/cpp/demo/Ice/MFC/server/HelloServer.rc
@@ -112,7 +112,7 @@ BEGIN
VALUE "FileDescription", "Ice Hello Server\0"
VALUE "FileVersion", "1.0.0.1\0"
VALUE "InternalName", "HelloServer.exe\0"
- VALUE "LegalCopyright", "Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\0"
+ VALUE "LegalCopyright", "Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\0"
VALUE "OriginalFilename", "HelloServer.exe\0"
VALUE "ProductName", "Ice\0"
VALUE "ProductVersion", "1.0.0.1\0"
diff --git a/cpp/demo/Ice/MFC/server/HelloServerDlg.cpp b/cpp/demo/Ice/MFC/server/HelloServerDlg.cpp
index ad055c92f07..7f34aab8230 100644
--- a/cpp/demo/Ice/MFC/server/HelloServerDlg.cpp
+++ b/cpp/demo/Ice/MFC/server/HelloServerDlg.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/HelloServerDlg.h b/cpp/demo/Ice/MFC/server/HelloServerDlg.h
index e321ab75b88..ea92d8168f0 100644
--- a/cpp/demo/Ice/MFC/server/HelloServerDlg.h
+++ b/cpp/demo/Ice/MFC/server/HelloServerDlg.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/LogI.cpp b/cpp/demo/Ice/MFC/server/LogI.cpp
index 124192cbc00..aaa79698e69 100644
--- a/cpp/demo/Ice/MFC/server/LogI.cpp
+++ b/cpp/demo/Ice/MFC/server/LogI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/LogI.h b/cpp/demo/Ice/MFC/server/LogI.h
index c9045d3ac4a..2ac857858d2 100644
--- a/cpp/demo/Ice/MFC/server/LogI.h
+++ b/cpp/demo/Ice/MFC/server/LogI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/Makefile.mak b/cpp/demo/Ice/MFC/server/Makefile.mak
index 7ffb0a405b7..f48b837ce4d 100644
--- a/cpp/demo/Ice/MFC/server/Makefile.mak
+++ b/cpp/demo/Ice/MFC/server/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/stdafx.cpp b/cpp/demo/Ice/MFC/server/stdafx.cpp
index 235f306f761..c3f36dbcc35 100644
--- a/cpp/demo/Ice/MFC/server/stdafx.cpp
+++ b/cpp/demo/Ice/MFC/server/stdafx.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/MFC/server/stdafx.h b/cpp/demo/Ice/MFC/server/stdafx.h
index 083197283d9..0937f57d519 100644
--- a/cpp/demo/Ice/MFC/server/stdafx.h
+++ b/cpp/demo/Ice/MFC/server/stdafx.h
@@ -1,13 +1,12 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
-
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
diff --git a/cpp/demo/Ice/Makefile b/cpp/demo/Ice/Makefile
index 7d605d2e45d..b4e3536725e 100644
--- a/cpp/demo/Ice/Makefile
+++ b/cpp/demo/Ice/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
@@ -23,7 +23,8 @@ SUBDIRS = minimal \
session \
converter \
async \
- multicast
+ multicast \
+ nrvo
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cpp/demo/Ice/Makefile.mak b/cpp/demo/Ice/Makefile.mak
index 55709c93147..d563f36a154 100644
--- a/cpp/demo/Ice/Makefile.mak
+++ b/cpp/demo/Ice/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
@@ -23,7 +23,8 @@ SUBDIRS = minimal \
session \
converter \
async \
- multicast
+ multicast \
+ nrvo
!if "$(CPP_COMPILER)" != "BCC2007" && "$(CPP_COMPILER)" != "VC80_EXPRESS" && "$(CPP_COMPILER)" != "VC90_EXPRESS"
SUBDIRS = $(SUBDIRS) MFC
diff --git a/cpp/demo/Ice/async/Client.cpp b/cpp/demo/Ice/async/Client.cpp
index 9bc2a33c8cf..70e7f781abf 100644
--- a/cpp/demo/Ice/async/Client.cpp
+++ b/cpp/demo/Ice/async/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/Hello.ice b/cpp/demo/Ice/async/Hello.ice
index 8eedeac8c76..f3bbe38d5b0 100644
--- a/cpp/demo/Ice/async/Hello.ice
+++ b/cpp/demo/Ice/async/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -19,7 +19,7 @@ exception RequestCanceledException
interface Hello
{
- ["ami", "amd"] void sayHello(int delay)
+ ["ami", "amd"] idempotent void sayHello(int delay)
throws RequestCanceledException;
void shutdown();
diff --git a/cpp/demo/Ice/async/HelloI.cpp b/cpp/demo/Ice/async/HelloI.cpp
index 3b97d768769..be8fb9be92e 100644
--- a/cpp/demo/Ice/async/HelloI.cpp
+++ b/cpp/demo/Ice/async/HelloI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/HelloI.h b/cpp/demo/Ice/async/HelloI.h
index 85efe8ca80a..25882fbb472 100644
--- a/cpp/demo/Ice/async/HelloI.h
+++ b/cpp/demo/Ice/async/HelloI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/Makefile b/cpp/demo/Ice/async/Makefile
index 790db7e6dcc..9e29189f2a2 100644
--- a/cpp/demo/Ice/async/Makefile
+++ b/cpp/demo/Ice/async/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/Makefile.mak b/cpp/demo/Ice/async/Makefile.mak
index a50fff24664..d1136e14ee1 100644
--- a/cpp/demo/Ice/async/Makefile.mak
+++ b/cpp/demo/Ice/async/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/Server.cpp b/cpp/demo/Ice/async/Server.cpp
index 6b0a5dfad39..da472948afe 100644
--- a/cpp/demo/Ice/async/Server.cpp
+++ b/cpp/demo/Ice/async/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/WorkQueue.cpp b/cpp/demo/Ice/async/WorkQueue.cpp
index c2b155995ef..b18dbb92a76 100644
--- a/cpp/demo/Ice/async/WorkQueue.cpp
+++ b/cpp/demo/Ice/async/WorkQueue.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/WorkQueue.h b/cpp/demo/Ice/async/WorkQueue.h
index aed040268b2..e7ab7a0299c 100644
--- a/cpp/demo/Ice/async/WorkQueue.h
+++ b/cpp/demo/Ice/async/WorkQueue.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/async/expect.py b/cpp/demo/Ice/async/expect.py
index 867e133db04..8e94386f64e 100755
--- a/cpp/demo/Ice/async/expect.py
+++ b/cpp/demo/Ice/async/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/Callback.ice b/cpp/demo/Ice/bidir/Callback.ice
index 27946b05bf5..e3b812b06f6 100644
--- a/cpp/demo/Ice/bidir/Callback.ice
+++ b/cpp/demo/Ice/bidir/Callback.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/CallbackI.cpp b/cpp/demo/Ice/bidir/CallbackI.cpp
index 27f99334358..4b27002dcb6 100644
--- a/cpp/demo/Ice/bidir/CallbackI.cpp
+++ b/cpp/demo/Ice/bidir/CallbackI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/CallbackI.h b/cpp/demo/Ice/bidir/CallbackI.h
index 5461fe25d92..216c2131c19 100644
--- a/cpp/demo/Ice/bidir/CallbackI.h
+++ b/cpp/demo/Ice/bidir/CallbackI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/Client.cpp b/cpp/demo/Ice/bidir/Client.cpp
index c84ba33e212..09c6002e4fb 100644
--- a/cpp/demo/Ice/bidir/Client.cpp
+++ b/cpp/demo/Ice/bidir/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/Makefile b/cpp/demo/Ice/bidir/Makefile
index 3658c21f214..2295796cfd1 100644
--- a/cpp/demo/Ice/bidir/Makefile
+++ b/cpp/demo/Ice/bidir/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/Makefile.mak b/cpp/demo/Ice/bidir/Makefile.mak
index 97f18887f24..a5a04f59064 100644
--- a/cpp/demo/Ice/bidir/Makefile.mak
+++ b/cpp/demo/Ice/bidir/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/Server.cpp b/cpp/demo/Ice/bidir/Server.cpp
index 37e63966bf0..649927cf5b2 100644
--- a/cpp/demo/Ice/bidir/Server.cpp
+++ b/cpp/demo/Ice/bidir/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/bidir/expect.py b/cpp/demo/Ice/bidir/expect.py
index 6227eaba91f..6da16576a29 100755
--- a/cpp/demo/Ice/bidir/expect.py
+++ b/cpp/demo/Ice/bidir/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/Callback.ice b/cpp/demo/Ice/callback/Callback.ice
index c6c54eea561..464d203ddf9 100644
--- a/cpp/demo/Ice/callback/Callback.ice
+++ b/cpp/demo/Ice/callback/Callback.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/CallbackSenderI.cpp b/cpp/demo/Ice/callback/CallbackSenderI.cpp
index 26bb69e2713..bf8286c8318 100644
--- a/cpp/demo/Ice/callback/CallbackSenderI.cpp
+++ b/cpp/demo/Ice/callback/CallbackSenderI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/CallbackSenderI.h b/cpp/demo/Ice/callback/CallbackSenderI.h
index ce2971a055d..7afa6d6ee83 100644
--- a/cpp/demo/Ice/callback/CallbackSenderI.h
+++ b/cpp/demo/Ice/callback/CallbackSenderI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/Client.cpp b/cpp/demo/Ice/callback/Client.cpp
index 89cfe0ec146..0577bb0156d 100644
--- a/cpp/demo/Ice/callback/Client.cpp
+++ b/cpp/demo/Ice/callback/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/Makefile b/cpp/demo/Ice/callback/Makefile
index 34a8466faa3..3db01876843 100644
--- a/cpp/demo/Ice/callback/Makefile
+++ b/cpp/demo/Ice/callback/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/Makefile.mak b/cpp/demo/Ice/callback/Makefile.mak
index 052a29b2b7d..6956278d59f 100644
--- a/cpp/demo/Ice/callback/Makefile.mak
+++ b/cpp/demo/Ice/callback/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/Server.cpp b/cpp/demo/Ice/callback/Server.cpp
index e62bc907194..378f833ca90 100644
--- a/cpp/demo/Ice/callback/Server.cpp
+++ b/cpp/demo/Ice/callback/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/callback/expect.py b/cpp/demo/Ice/callback/expect.py
index 6a6f6b13a75..6e2a85618db 100755
--- a/cpp/demo/Ice/callback/expect.py
+++ b/cpp/demo/Ice/callback/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/Client.cpp b/cpp/demo/Ice/converter/Client.cpp
index 0c548b7a8ad..74ee72c0ca8 100644
--- a/cpp/demo/Ice/converter/Client.cpp
+++ b/cpp/demo/Ice/converter/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/Greet.ice b/cpp/demo/Ice/converter/Greet.ice
index 174faa5e1c2..888baa2cbf9 100644
--- a/cpp/demo/Ice/converter/Greet.ice
+++ b/cpp/demo/Ice/converter/Greet.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/GreetI.cpp b/cpp/demo/Ice/converter/GreetI.cpp
index 1de7c524e1f..453416dabc4 100644
--- a/cpp/demo/Ice/converter/GreetI.cpp
+++ b/cpp/demo/Ice/converter/GreetI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/GreetI.h b/cpp/demo/Ice/converter/GreetI.h
index 60a1b9dd0ab..1648853be9c 100644
--- a/cpp/demo/Ice/converter/GreetI.h
+++ b/cpp/demo/Ice/converter/GreetI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/Makefile b/cpp/demo/Ice/converter/Makefile
index 5185a23894f..549b7934512 100644
--- a/cpp/demo/Ice/converter/Makefile
+++ b/cpp/demo/Ice/converter/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/Makefile.mak b/cpp/demo/Ice/converter/Makefile.mak
index d93d50b0c56..e443d7eb58f 100644
--- a/cpp/demo/Ice/converter/Makefile.mak
+++ b/cpp/demo/Ice/converter/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/Server.cpp b/cpp/demo/Ice/converter/Server.cpp
index 6187f7bc219..9292c9770c5 100644
--- a/cpp/demo/Ice/converter/Server.cpp
+++ b/cpp/demo/Ice/converter/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/StringConverterI.cpp b/cpp/demo/Ice/converter/StringConverterI.cpp
index e2f868bd6db..9115d252ac0 100644
--- a/cpp/demo/Ice/converter/StringConverterI.cpp
+++ b/cpp/demo/Ice/converter/StringConverterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/StringConverterI.h b/cpp/demo/Ice/converter/StringConverterI.h
index 1f757143e4d..a8a605612af 100644
--- a/cpp/demo/Ice/converter/StringConverterI.h
+++ b/cpp/demo/Ice/converter/StringConverterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/converter/expect.py b/cpp/demo/Ice/converter/expect.py
index 4badb4776ba..1838e795a0a 100755
--- a/cpp/demo/Ice/converter/expect.py
+++ b/cpp/demo/Ice/converter/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/hello/Client.cpp b/cpp/demo/Ice/hello/Client.cpp
index 366d93fc9ca..97d5356ab55 100644
--- a/cpp/demo/Ice/hello/Client.cpp
+++ b/cpp/demo/Ice/hello/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/hello/Hello.ice b/cpp/demo/Ice/hello/Hello.ice
index 11b714f01c8..bcaed6ad877 100644
--- a/cpp/demo/Ice/hello/Hello.ice
+++ b/cpp/demo/Ice/hello/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -15,7 +15,7 @@ module Demo
interface Hello
{
- ["cpp:const"] idempotent void sayHello(int delay);
+ idempotent void sayHello(int delay);
void shutdown();
};
diff --git a/cpp/demo/Ice/hello/HelloI.cpp b/cpp/demo/Ice/hello/HelloI.cpp
index 32529896c8c..549e1d211a8 100644
--- a/cpp/demo/Ice/hello/HelloI.cpp
+++ b/cpp/demo/Ice/hello/HelloI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -14,7 +14,7 @@
using namespace std;
void
-HelloI::sayHello(int delay, const Ice::Current&) const
+HelloI::sayHello(int delay, const Ice::Current&)
{
if(delay != 0)
{
diff --git a/cpp/demo/Ice/hello/HelloI.h b/cpp/demo/Ice/hello/HelloI.h
index 79011f1064d..ebc0610354e 100644
--- a/cpp/demo/Ice/hello/HelloI.h
+++ b/cpp/demo/Ice/hello/HelloI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -16,7 +16,7 @@ class HelloI : public Demo::Hello
{
public:
- virtual void sayHello(int delay, const Ice::Current&) const;
+ virtual void sayHello(int delay, const Ice::Current&);
virtual void shutdown(const Ice::Current&);
};
diff --git a/cpp/demo/Ice/hello/Makefile b/cpp/demo/Ice/hello/Makefile
index 4b9f65e4605..4abeac32fd7 100644
--- a/cpp/demo/Ice/hello/Makefile
+++ b/cpp/demo/Ice/hello/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/hello/Makefile.mak b/cpp/demo/Ice/hello/Makefile.mak
index 913feaee700..05f5a9ff571 100644
--- a/cpp/demo/Ice/hello/Makefile.mak
+++ b/cpp/demo/Ice/hello/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/hello/Server.cpp b/cpp/demo/Ice/hello/Server.cpp
index e39445cd890..368183e76bb 100644
--- a/cpp/demo/Ice/hello/Server.cpp
+++ b/cpp/demo/Ice/hello/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/hello/expect.py b/cpp/demo/Ice/hello/expect.py
index fd3062f9d2e..73ef8f0d3e1 100755
--- a/cpp/demo/Ice/hello/expect.py
+++ b/cpp/demo/Ice/hello/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
@@ -22,9 +22,9 @@ sys.path.append(path[0])
from demoscript import *
from demoscript.Ice import hello
-server = Util.spawn('./server --Ice.PrintAdapterReady')
+server = Util.spawn('./server --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
server.expect('.* ready')
-client = Util.spawn('./client')
+client = Util.spawn('./client --Ice.Warn.Connections=0')
client.expect('.*==>')
hello.run(client, server)
diff --git a/cpp/demo/Ice/invoke/Client.cpp b/cpp/demo/Ice/invoke/Client.cpp
index c13a1a0da80..731f44ab2a1 100644
--- a/cpp/demo/Ice/invoke/Client.cpp
+++ b/cpp/demo/Ice/invoke/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/Makefile b/cpp/demo/Ice/invoke/Makefile
index 199b695f591..eebe45d062c 100644
--- a/cpp/demo/Ice/invoke/Makefile
+++ b/cpp/demo/Ice/invoke/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/Makefile.mak b/cpp/demo/Ice/invoke/Makefile.mak
index a990c31375b..33f627203c7 100644
--- a/cpp/demo/Ice/invoke/Makefile.mak
+++ b/cpp/demo/Ice/invoke/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/Printer.ice b/cpp/demo/Ice/invoke/Printer.ice
index dbc12f15b46..ed29207f5e0 100644
--- a/cpp/demo/Ice/invoke/Printer.ice
+++ b/cpp/demo/Ice/invoke/Printer.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/PrinterI.cpp b/cpp/demo/Ice/invoke/PrinterI.cpp
index abafc0ca348..f6752c6b16b 100644
--- a/cpp/demo/Ice/invoke/PrinterI.cpp
+++ b/cpp/demo/Ice/invoke/PrinterI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/PrinterI.h b/cpp/demo/Ice/invoke/PrinterI.h
index 82a5abf35b8..6c2eb3bb5a3 100644
--- a/cpp/demo/Ice/invoke/PrinterI.h
+++ b/cpp/demo/Ice/invoke/PrinterI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/Server.cpp b/cpp/demo/Ice/invoke/Server.cpp
index e1d383fd705..a75daeda5e2 100644
--- a/cpp/demo/Ice/invoke/Server.cpp
+++ b/cpp/demo/Ice/invoke/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/invoke/expect.py b/cpp/demo/Ice/invoke/expect.py
index 59d8a51b02a..a20d2c865c0 100755
--- a/cpp/demo/Ice/invoke/expect.py
+++ b/cpp/demo/Ice/invoke/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/Client.cpp b/cpp/demo/Ice/latency/Client.cpp
index 8f9d414daa8..a39f5e05963 100644
--- a/cpp/demo/Ice/latency/Client.cpp
+++ b/cpp/demo/Ice/latency/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/Latency.ice b/cpp/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/cpp/demo/Ice/latency/Latency.ice
+++ b/cpp/demo/Ice/latency/Latency.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/Makefile b/cpp/demo/Ice/latency/Makefile
index 09b3581fc69..1295465255c 100644
--- a/cpp/demo/Ice/latency/Makefile
+++ b/cpp/demo/Ice/latency/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/Makefile.mak b/cpp/demo/Ice/latency/Makefile.mak
index 648a0c3350d..d7aa03216ee 100644
--- a/cpp/demo/Ice/latency/Makefile.mak
+++ b/cpp/demo/Ice/latency/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/Server.cpp b/cpp/demo/Ice/latency/Server.cpp
index 79ae6c55fcd..911c06a1313 100644
--- a/cpp/demo/Ice/latency/Server.cpp
+++ b/cpp/demo/Ice/latency/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/latency/expect.py b/cpp/demo/Ice/latency/expect.py
index 0117766751d..907b267aa31 100755
--- a/cpp/demo/Ice/latency/expect.py
+++ b/cpp/demo/Ice/latency/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/minimal/Client.cpp b/cpp/demo/Ice/minimal/Client.cpp
index 0d00078a07d..0fb434a1ecf 100644
--- a/cpp/demo/Ice/minimal/Client.cpp
+++ b/cpp/demo/Ice/minimal/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/minimal/Hello.ice b/cpp/demo/Ice/minimal/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cpp/demo/Ice/minimal/Hello.ice
+++ b/cpp/demo/Ice/minimal/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -15,7 +15,7 @@ module Demo
interface Hello
{
- ["cpp:const"] idempotent void sayHello();
+ idempotent void sayHello();
};
};
diff --git a/cpp/demo/Ice/minimal/HelloI.cpp b/cpp/demo/Ice/minimal/HelloI.cpp
index f105a0e2a15..2f419c704c3 100644
--- a/cpp/demo/Ice/minimal/HelloI.cpp
+++ b/cpp/demo/Ice/minimal/HelloI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -13,7 +13,7 @@
using namespace std;
void
-HelloI::sayHello(const Ice::Current&) const
+HelloI::sayHello(const Ice::Current&)
{
cout << "Hello World!" << endl;
}
diff --git a/cpp/demo/Ice/minimal/HelloI.h b/cpp/demo/Ice/minimal/HelloI.h
index 85e00775cd0..424123ff316 100644
--- a/cpp/demo/Ice/minimal/HelloI.h
+++ b/cpp/demo/Ice/minimal/HelloI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -16,7 +16,7 @@ class HelloI : public Demo::Hello
{
public:
- virtual void sayHello(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
};
#endif
diff --git a/cpp/demo/Ice/minimal/Makefile b/cpp/demo/Ice/minimal/Makefile
index 4b9f65e4605..4abeac32fd7 100644
--- a/cpp/demo/Ice/minimal/Makefile
+++ b/cpp/demo/Ice/minimal/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/minimal/Makefile.mak b/cpp/demo/Ice/minimal/Makefile.mak
index 913feaee700..05f5a9ff571 100644
--- a/cpp/demo/Ice/minimal/Makefile.mak
+++ b/cpp/demo/Ice/minimal/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/minimal/Server.cpp b/cpp/demo/Ice/minimal/Server.cpp
index 157df27bbe1..e0faa587dd3 100644
--- a/cpp/demo/Ice/minimal/Server.cpp
+++ b/cpp/demo/Ice/minimal/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/minimal/expect.py b/cpp/demo/Ice/minimal/expect.py
index 0a98bf47619..6321e44792d 100755
--- a/cpp/demo/Ice/minimal/expect.py
+++ b/cpp/demo/Ice/minimal/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/multicast/Client.cpp b/cpp/demo/Ice/multicast/Client.cpp
index 976c2e2765a..c60c71c1a9d 100644
--- a/cpp/demo/Ice/multicast/Client.cpp
+++ b/cpp/demo/Ice/multicast/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/multicast/Discovery.ice b/cpp/demo/Ice/multicast/Discovery.ice
index d8beb26a286..4dd25aef7f7 100644
--- a/cpp/demo/Ice/multicast/Discovery.ice
+++ b/cpp/demo/Ice/multicast/Discovery.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/multicast/Hello.ice b/cpp/demo/Ice/multicast/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cpp/demo/Ice/multicast/Hello.ice
+++ b/cpp/demo/Ice/multicast/Hello.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -15,7 +15,7 @@ module Demo
interface Hello
{
- ["cpp:const"] idempotent void sayHello();
+ idempotent void sayHello();
};
};
diff --git a/cpp/demo/Ice/multicast/Makefile b/cpp/demo/Ice/multicast/Makefile
index 96405e64000..03880db35c6 100644
--- a/cpp/demo/Ice/multicast/Makefile
+++ b/cpp/demo/Ice/multicast/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/multicast/Makefile.mak b/cpp/demo/Ice/multicast/Makefile.mak
index 9bb133e9565..7bea808aaec 100644
--- a/cpp/demo/Ice/multicast/Makefile.mak
+++ b/cpp/demo/Ice/multicast/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/multicast/Server.cpp b/cpp/demo/Ice/multicast/Server.cpp
index 5a4feaf74d0..8840b8b3e2f 100644
--- a/cpp/demo/Ice/multicast/Server.cpp
+++ b/cpp/demo/Ice/multicast/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -20,7 +20,7 @@ class HelloI : public Hello
public:
virtual void
- sayHello(const Ice::Current&) const
+ sayHello(const Ice::Current&)
{
cout << "Hello World!" << endl;
}
diff --git a/cpp/demo/Ice/multicast/expect.py b/cpp/demo/Ice/multicast/expect.py
index 8bd1825de1f..46ab77a4559 100755
--- a/cpp/demo/Ice/multicast/expect.py
+++ b/cpp/demo/Ice/multicast/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/Client.cpp b/cpp/demo/Ice/nested/Client.cpp
index c8b11636da3..49980ecbb5e 100644
--- a/cpp/demo/Ice/nested/Client.cpp
+++ b/cpp/demo/Ice/nested/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/Makefile b/cpp/demo/Ice/nested/Makefile
index 0b2864d377c..6b33b940368 100644
--- a/cpp/demo/Ice/nested/Makefile
+++ b/cpp/demo/Ice/nested/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/Makefile.mak b/cpp/demo/Ice/nested/Makefile.mak
index 2d9013643d1..0ce2569be50 100644
--- a/cpp/demo/Ice/nested/Makefile.mak
+++ b/cpp/demo/Ice/nested/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/Nested.ice b/cpp/demo/Ice/nested/Nested.ice
index fd5138e14c1..bd245a16432 100644
--- a/cpp/demo/Ice/nested/Nested.ice
+++ b/cpp/demo/Ice/nested/Nested.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/NestedI.cpp b/cpp/demo/Ice/nested/NestedI.cpp
index ff10a0d5b75..fb79d2995fd 100644
--- a/cpp/demo/Ice/nested/NestedI.cpp
+++ b/cpp/demo/Ice/nested/NestedI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/NestedI.h b/cpp/demo/Ice/nested/NestedI.h
index 59af05d4fe9..5b3dde10336 100644
--- a/cpp/demo/Ice/nested/NestedI.h
+++ b/cpp/demo/Ice/nested/NestedI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/Server.cpp b/cpp/demo/Ice/nested/Server.cpp
index 8e09e86525f..edeb7efe60c 100644
--- a/cpp/demo/Ice/nested/Server.cpp
+++ b/cpp/demo/Ice/nested/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nested/expect.py b/cpp/demo/Ice/nested/expect.py
index 58067b1b96b..5a2dfbd5029 100755
--- a/cpp/demo/Ice/nested/expect.py
+++ b/cpp/demo/Ice/nested/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/nrvo/.depend b/cpp/demo/Ice/nrvo/.depend
new file mode 100644
index 00000000000..927f573b68e
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/.depend
@@ -0,0 +1,5 @@
+Nrvo$(OBJEXT): Nrvo.cpp Nrvo.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h MyStringSeq.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Client$(OBJEXT): Client.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h Nrvo.h MyStringSeq.h
+NrvoI$(OBJEXT): NrvoI.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h NrvoI.h Nrvo.h MyStringSeq.h
+Nrvo.cpp: Nrvo.ice
+Nrvo.ice: $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/demo/Ice/nrvo/.gitignore b/cpp/demo/Ice/nrvo/.gitignore
new file mode 100644
index 00000000000..433c17249b4
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/.gitignore
@@ -0,0 +1,7 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+server
+Nrvo.cpp
+Nrvo.h
diff --git a/cpp/demo/Ice/nrvo/Client.cpp b/cpp/demo/Ice/nrvo/Client.cpp
new file mode 100644
index 00000000000..449fa6fc468
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/Client.cpp
@@ -0,0 +1,141 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <Nrvo.h>
+#include <MyStringSeq.h>
+#include <iomanip>
+
+using namespace std;
+using namespace Demo;
+
+class NrvoClient : public Ice::Application
+{
+public:
+
+ NrvoClient();
+ virtual int run(int, char*[]);
+
+private:
+
+ void menu();
+};
+
+int
+main(int argc, char* argv[])
+{
+ NrvoClient app;
+ return app.main(argc, argv, "config.client");
+}
+
+NrvoClient::NrvoClient()
+{
+}
+
+int
+NrvoClient::run(int argc, char* argv[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ NrvoPrx nrvo = NrvoPrx::checkedCast(communicator()->propertyToProxy("Nrvo.Proxy"));
+ if(!nrvo)
+ {
+ cerr << argv[0] << ": invalid proxy" << endl;
+ return EXIT_FAILURE;
+ }
+
+ menu();
+
+ char currentOperation = '1';
+ char c;
+ do
+ {
+ try
+ {
+ cout << "==> ";
+ cin >> c;
+
+ if(c == '1' || c == '2' || c == '3' || c == 's' || c == '?' || c == 'x')
+ {
+ currentOperation = c;
+ switch(c)
+ {
+ case '1':
+ {
+ cout << "calling op1" << endl;
+ MyStringSeq seq = nrvo->op1();
+ break;
+ }
+
+ case '2':
+ {
+ cout << "calling op2" << endl;
+ MyStringSeq seq = nrvo->op2();
+ break;
+ }
+
+ case '3':
+ {
+ cout << "calling op3" << endl;
+ MyStringSeq seq = nrvo->op3(10);
+ break;
+ }
+
+ case 's':
+ {
+ nrvo->shutdown();
+ }
+
+ case '?':
+ {
+ menu();
+ break;
+ }
+
+ case 'x':
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ cout << "unknown command `" << c << "'" << endl;
+ menu();
+ }
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ }
+ }
+ while(cin.good() && c != 'x');
+
+ return EXIT_SUCCESS;
+}
+
+
+void
+NrvoClient::menu()
+{
+ cout <<
+ "usage:\n"
+ "\n"
+ "Operation to call:\n"
+ "1: return a string sequence.\n"
+ "2: return a string sequence that is a data member of the servant.\n"
+ "3: return a string sequence from an operation with multiple return path.\n"
+ "s: shutdown server.\n"
+ "x: exit.\n"
+ "?: show this menu.\n";
+}
diff --git a/cpp/demo/Ice/nrvo/Makefile b/cpp/demo/Ice/nrvo/Makefile
new file mode 100644
index 00000000000..d5159ce9b82
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/Makefile
@@ -0,0 +1,42 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ../../..
+
+CLIENT = client
+SERVER = server
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Nrvo.o
+
+COBJS = Client.o
+
+SOBJS = NrvoI.o \
+ Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp)
+
+SLICE_SRCS = Nrvo.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. $(CPPFLAGS)
+
+$(CLIENT): $(OBJS) $(COBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(COBJS) $(LIBS)
+
+$(SERVER): $(OBJS) $(SOBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(LIBS)
+
+include .depend
diff --git a/cpp/demo/Ice/nrvo/Makefile.mak b/cpp/demo/Ice/nrvo/Makefile.mak
new file mode 100644
index 00000000000..48784e0328d
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/Makefile.mak
@@ -0,0 +1,50 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+top_srcdir = ..\..\..
+
+CLIENT = client.exe
+SERVER = server.exe
+
+TARGETS = $(CLIENT) $(SERVER)
+
+OBJS = Nrvo.obj
+
+COBJS = Client.obj
+
+SOBJS = NrvoI.obj \
+ Server.obj
+
+SRCS = $(OBJS:.obj=.cpp) \
+ $(COBJS:.obj=.cpp) \
+ $(SOBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(GENERATE_PDB)" == "yes"
+CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
+!endif
+
+$(CLIENT): $(OBJS) $(COBJS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(OBJS) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+$(SERVER): $(OBJS) $(SOBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(OBJS) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Nrvo.cpp Nrvo.h
+
+!include .depend
diff --git a/cpp/demo/Ice/nrvo/MyStringSeq.h b/cpp/demo/Ice/nrvo/MyStringSeq.h
new file mode 100644
index 00000000000..e5adfc4b45e
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/MyStringSeq.h
@@ -0,0 +1,32 @@
+#ifndef MY_STRING_SEQ
+#define MY_STRING_SEQ
+
+#include <vector>
+#include <string>
+#include <iostream>
+
+class MyStringSeq : public std::vector<std::string>
+{
+public:
+
+ MyStringSeq()
+ {}
+
+ MyStringSeq(size_t n) :
+ std::vector<std::string>(n)
+ {
+ }
+
+ MyStringSeq(size_t n, const std::string& str) :
+ std::vector<std::string>(n, str)
+ {
+ }
+
+ MyStringSeq(const MyStringSeq& seq) :
+ std::vector<std::string>(seq)
+ {
+ std::cout << "MyStringSeq copy ctor" << std::endl;
+ }
+};
+
+#endif
diff --git a/cpp/demo/Ice/nrvo/Nrvo.ice b/cpp/demo/Ice/nrvo/Nrvo.ice
new file mode 100644
index 00000000000..4e52b8f5e6f
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/Nrvo.ice
@@ -0,0 +1,30 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef NRVO_ICE
+#define NRVO_ICE
+
+module Demo
+{
+
+[["cpp:include:MyStringSeq.h"]]
+["cpp:type:MyStringSeq"] sequence<string> StringSeq;
+const int StringSeqSize = 50000;
+
+interface Nrvo
+{
+ StringSeq op1();
+ StringSeq op2();
+ StringSeq op3(int size);
+ void shutdown();
+};
+
+};
+
+#endif
diff --git a/cpp/demo/Ice/nrvo/NrvoI.cpp b/cpp/demo/Ice/nrvo/NrvoI.cpp
new file mode 100644
index 00000000000..dea09e60bed
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/NrvoI.cpp
@@ -0,0 +1,54 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <iostream>
+#include <NrvoI.h>
+
+using namespace std;
+
+NrvoI::NrvoI() :
+ _stringSeq(Demo::StringSeqSize, "hello")
+{
+}
+
+Demo::StringSeq
+NrvoI::op1(const Ice::Current&)
+{
+ cout << "running op1" << endl;
+ MyStringSeq seq = MyStringSeq(Demo::StringSeqSize, "hello");
+ return seq;
+}
+
+Demo::StringSeq
+NrvoI::op2(const Ice::Current&)
+{
+ cout << "running op2" << endl;
+ return _stringSeq;
+}
+
+Demo::StringSeq
+NrvoI::op3(int size, const Ice::Current&)
+{
+ cout << "running op3" << endl;
+ MyStringSeq seq;
+ if(size < 10)
+ {
+ return MyStringSeq(size, "hello");
+ }
+ seq = MyStringSeq(10, "hello");
+ return seq;
+}
+
+
+void
+NrvoI::shutdown(const Ice::Current& c)
+{
+ c.adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/demo/Ice/nrvo/NrvoI.h b/cpp/demo/Ice/nrvo/NrvoI.h
new file mode 100644
index 00000000000..d92931f193d
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/NrvoI.h
@@ -0,0 +1,31 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef NRVO_I_H
+#define NRVO_I_H
+
+#include <Nrvo.h>
+#include <MyStringSeq.h>
+
+class NrvoI : public Demo::Nrvo
+{
+public:
+
+ NrvoI();
+ virtual Demo::StringSeq op1(const Ice::Current&);
+ virtual Demo::StringSeq op2(const Ice::Current&);
+ virtual Demo::StringSeq op3(int size, const Ice::Current&);
+ virtual void shutdown(const Ice::Current&);
+
+private:
+
+ MyStringSeq _stringSeq;
+};
+
+#endif
diff --git a/cpp/demo/Ice/nrvo/README b/cpp/demo/Ice/nrvo/README
new file mode 100644
index 00000000000..7cfbfe674a6
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/README
@@ -0,0 +1,49 @@
+
+A simple demo that show how Ice take advantage of NRVO
+(Named Return Value Optimization) include in modern c++ compilers.
+
+GCC and Visual Studio compilers support this optimization
+
+ You could read more about Visual Studio NRVO at:
+
+ * http://msdn.microsoft.com/en-us/library/ms364057(VS.80).aspx
+
+ For GCC NRVO was first introduced in gcc-3.1 see the release
+ changes at:
+
+ * http://www.gnu.org/software/gcc/gcc-3.1/changes.html
+
+To run the demo, first start the server:
+
+$ server
+
+In a separate window, start the client:
+
+$ client
+
+When you start the client it show you a menu with different
+operations, you can invoke each operation pressing the corresponding
+key.
+
+All this operations return a string sequence mapped to a custom class
+MyStringSeq, when a copy is made the message "MyStringSeq copy ctor"
+is wrote to the console, this permit you see what copies of the
+returned data are made by Ice run time.
+
+To make sure the optimizations are applied you should compile the demo
+with optimizations enabled.
+
+If you call an operation the client and server should print a message
+"calling <operation name>" and bellow that message you will see as
+many "MyStringSeq copy ctor" messages as copies are made.
+
+In the server side we show one case when NRVO works, that is a
+function that has a single return path implemented and is
+implementation is NrvoI::op1, and two case where NRVO don't work, a
+function that return a data member of the servant the implementation
+is in NrvoI::op2 and a function with multiple returns path
+implemented in NrvoI::op3.
+
+So if you press option 1 you will see that NRVO is apply in both
+client and server sides, and if you call 2 or 3 the optimization only
+apply to client side.
diff --git a/cpp/demo/Ice/nrvo/Server.cpp b/cpp/demo/Ice/nrvo/Server.cpp
new file mode 100644
index 00000000000..4ab12e580e4
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/Server.cpp
@@ -0,0 +1,44 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <NrvoI.h>
+
+using namespace std;
+
+class NrvotServer : public Ice::Application
+{
+public:
+
+ virtual int run(int, char*[]);
+};
+
+int
+main(int argc, char* argv[])
+{
+ NrvotServer app;
+ return app.main(argc, argv, "config.server");
+}
+
+int
+NrvotServer::run(int argc, char* argv[])
+{
+ if(argc > 1)
+ {
+ cerr << appName() << ": too many arguments" << endl;
+ return EXIT_FAILURE;
+ }
+
+ Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Nrvo");
+ Demo::NrvoPtr servant = new NrvoI();
+ adapter->add(servant, communicator()->stringToIdentity("nrvo"));
+ adapter->activate();
+ communicator()->waitForShutdown();
+ return EXIT_SUCCESS;
+}
diff --git a/cpp/demo/Ice/nrvo/config.client b/cpp/demo/Ice/nrvo/config.client
new file mode 100644
index 00000000000..c582c4dd677
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/config.client
@@ -0,0 +1,20 @@
+#
+# The client reads this property to create the reference to the
+# "Throughput" object in the server.
+#
+Nrvo.Proxy=nrvo:default -p 10000 -h 127.0.0.1
+
+#
+# Disable client-side ACM.
+#
+Ice.ACM.Client=0
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
+IceSSL.DefaultDir=../../../../certs
+IceSSL.CertAuthFile=cacert.pem
+IceSSL.CertFile=c_rsa1024_pub.pem
+IceSSL.KeyFile=c_rsa1024_priv.pem
+
diff --git a/cpp/demo/Ice/nrvo/config.server b/cpp/demo/Ice/nrvo/config.server
new file mode 100644
index 00000000000..2a90e37a37c
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/config.server
@@ -0,0 +1,20 @@
+#
+# The server creates one single object adapter with the name
+# "Throughput". The following line sets the endpoints for this
+# adapter.
+#
+Nrvo.Endpoints=default -p 10000 -h 127.0.0.1
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
+IceSSL.DefaultDir=../../../../certs
+IceSSL.CertAuthFile=cacert.pem
+IceSSL.CertFile=s_rsa1024_pub.pem
+IceSSL.KeyFile=s_rsa1024_priv.pem
diff --git a/cpp/demo/Ice/nrvo/expect.py b/cpp/demo/Ice/nrvo/expect.py
new file mode 100644
index 00000000000..ba63251b8bb
--- /dev/null
+++ b/cpp/demo/Ice/nrvo/expect.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+sys.path.append(path[0])
+
+from demoscript import *
+from demoscript.Ice import nrvo
+
+server = Util.spawn('./server --Ice.PrintAdapterReady')
+server.expect('.* ready')
+client = Util.spawn('./client')
+client.expect('.*==>')
+
+nrvo.run(client, server)
diff --git a/cpp/demo/Ice/session/Client.cpp b/cpp/demo/Ice/session/Client.cpp
index 9bf03aee2db..380ad9f40e3 100644
--- a/cpp/demo/Ice/session/Client.cpp
+++ b/cpp/demo/Ice/session/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/Makefile b/cpp/demo/Ice/session/Makefile
index 22a041bea07..11ec5d59cf7 100644
--- a/cpp/demo/Ice/session/Makefile
+++ b/cpp/demo/Ice/session/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/Makefile.mak b/cpp/demo/Ice/session/Makefile.mak
index b7007a1f00d..cf1fd80b2ec 100644
--- a/cpp/demo/Ice/session/Makefile.mak
+++ b/cpp/demo/Ice/session/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/ReapThread.cpp b/cpp/demo/Ice/session/ReapThread.cpp
index f2c724c05e8..4fbb44b1113 100644
--- a/cpp/demo/Ice/session/ReapThread.cpp
+++ b/cpp/demo/Ice/session/ReapThread.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/ReapThread.h b/cpp/demo/Ice/session/ReapThread.h
index af76dc51461..006989e2b1e 100644
--- a/cpp/demo/Ice/session/ReapThread.h
+++ b/cpp/demo/Ice/session/ReapThread.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/Server.cpp b/cpp/demo/Ice/session/Server.cpp
index b04005f5b7f..c630419e5fc 100644
--- a/cpp/demo/Ice/session/Server.cpp
+++ b/cpp/demo/Ice/session/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/Session.ice b/cpp/demo/Ice/session/Session.ice
index c64fbd1574d..ceb87714846 100644
--- a/cpp/demo/Ice/session/Session.ice
+++ b/cpp/demo/Ice/session/Session.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/SessionFactoryI.cpp b/cpp/demo/Ice/session/SessionFactoryI.cpp
index 34ca3a365fb..e23f6e6ddba 100644
--- a/cpp/demo/Ice/session/SessionFactoryI.cpp
+++ b/cpp/demo/Ice/session/SessionFactoryI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/SessionFactoryI.h b/cpp/demo/Ice/session/SessionFactoryI.h
index 893ab9d6347..7038d526218 100644
--- a/cpp/demo/Ice/session/SessionFactoryI.h
+++ b/cpp/demo/Ice/session/SessionFactoryI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/SessionI.cpp b/cpp/demo/Ice/session/SessionI.cpp
index 1e2199d5763..824a204e504 100644
--- a/cpp/demo/Ice/session/SessionI.cpp
+++ b/cpp/demo/Ice/session/SessionI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/SessionI.h b/cpp/demo/Ice/session/SessionI.h
index 50319fbad92..955013cb08d 100644
--- a/cpp/demo/Ice/session/SessionI.h
+++ b/cpp/demo/Ice/session/SessionI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/session/expect.py b/cpp/demo/Ice/session/expect.py
index 1974eaf543a..8c0ed95b831 100755
--- a/cpp/demo/Ice/session/expect.py
+++ b/cpp/demo/Ice/session/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/Client.cpp b/cpp/demo/Ice/throughput/Client.cpp
index 602ba899ec9..9fdd85733f1 100644
--- a/cpp/demo/Ice/throughput/Client.cpp
+++ b/cpp/demo/Ice/throughput/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/Makefile b/cpp/demo/Ice/throughput/Makefile
index 711f78f359f..c29d54ba54c 100644
--- a/cpp/demo/Ice/throughput/Makefile
+++ b/cpp/demo/Ice/throughput/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/Makefile.mak b/cpp/demo/Ice/throughput/Makefile.mak
index 6bcbdc26304..869174a6e5d 100644
--- a/cpp/demo/Ice/throughput/Makefile.mak
+++ b/cpp/demo/Ice/throughput/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/Server.cpp b/cpp/demo/Ice/throughput/Server.cpp
index 9f128af8060..ebe16885733 100644
--- a/cpp/demo/Ice/throughput/Server.cpp
+++ b/cpp/demo/Ice/throughput/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/Throughput.ice b/cpp/demo/Ice/throughput/Throughput.ice
index 3ab10b8f934..f1c1f0c5418 100644
--- a/cpp/demo/Ice/throughput/Throughput.ice
+++ b/cpp/demo/Ice/throughput/Throughput.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/ThroughputI.cpp b/cpp/demo/Ice/throughput/ThroughputI.cpp
index 4c5eac52e7c..a04de0d9472 100644
--- a/cpp/demo/Ice/throughput/ThroughputI.cpp
+++ b/cpp/demo/Ice/throughput/ThroughputI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/ThroughputI.h b/cpp/demo/Ice/throughput/ThroughputI.h
index 09919713da2..9fb92ed2e48 100644
--- a/cpp/demo/Ice/throughput/ThroughputI.h
+++ b/cpp/demo/Ice/throughput/ThroughputI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/throughput/expect.py b/cpp/demo/Ice/throughput/expect.py
index cb7a4e4e0c0..a973687dbcd 100755
--- a/cpp/demo/Ice/throughput/expect.py
+++ b/cpp/demo/Ice/throughput/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/Client.cpp b/cpp/demo/Ice/value/Client.cpp
index 50a65798273..39a5683a778 100644
--- a/cpp/demo/Ice/value/Client.cpp
+++ b/cpp/demo/Ice/value/Client.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/Makefile b/cpp/demo/Ice/value/Makefile
index e512112ead7..9b347a45af1 100644
--- a/cpp/demo/Ice/value/Makefile
+++ b/cpp/demo/Ice/value/Makefile
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/Makefile.mak b/cpp/demo/Ice/value/Makefile.mak
index 5b2d5f66806..f82ffff9203 100644
--- a/cpp/demo/Ice/value/Makefile.mak
+++ b/cpp/demo/Ice/value/Makefile.mak
@@ -1,6 +1,6 @@
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/ObjectFactory.cpp b/cpp/demo/Ice/value/ObjectFactory.cpp
index b0573337c09..6f694ae6906 100644
--- a/cpp/demo/Ice/value/ObjectFactory.cpp
+++ b/cpp/demo/Ice/value/ObjectFactory.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/ObjectFactory.h b/cpp/demo/Ice/value/ObjectFactory.h
index 01f02a7c1b3..50da0e5b306 100644
--- a/cpp/demo/Ice/value/ObjectFactory.h
+++ b/cpp/demo/Ice/value/ObjectFactory.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/Server.cpp b/cpp/demo/Ice/value/Server.cpp
index 5c6a93c28dd..bb5253032a7 100644
--- a/cpp/demo/Ice/value/Server.cpp
+++ b/cpp/demo/Ice/value/Server.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/Value.ice b/cpp/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/cpp/demo/Ice/value/Value.ice
+++ b/cpp/demo/Ice/value/Value.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -35,7 +35,7 @@ exception DerivedPrinterException
DerivedPrinter derived;
};
-class Initial
+interface Initial
{
Simple getSimple();
void getPrinter(out Printer impl, out Printer* proxy);
diff --git a/cpp/demo/Ice/value/ValueI.cpp b/cpp/demo/Ice/value/ValueI.cpp
index b387f4bb863..cc161f93e83 100644
--- a/cpp/demo/Ice/value/ValueI.cpp
+++ b/cpp/demo/Ice/value/ValueI.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/ValueI.h b/cpp/demo/Ice/value/ValueI.h
index 7fafadf5387..10faf9f871d 100644
--- a/cpp/demo/Ice/value/ValueI.h
+++ b/cpp/demo/Ice/value/ValueI.h
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Ice/value/expect.py b/cpp/demo/Ice/value/expect.py
index 87ebed8d301..2a3a2e9c03d 100755
--- a/cpp/demo/Ice/value/expect.py
+++ b/cpp/demo/Ice/value/expect.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# **********************************************************************
#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.